是否可以从angular.js网址中删除#符号?
当我更改视图并使用参数更新URL时,我仍然希望能够使用浏览器的后退按钮等,但是我不希望使用#符号。
教程routeProvider声明如下:
angular.module('phonecat', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/phones', {templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl}). when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}). otherwise({redirectTo: '/phones'}); }]);
如果没有#,我可以对其进行编辑以具有相同的功能吗?
是的,您应该配置$locationProvider并设置html5Mode为true:
$locationProvider
html5Mode
true
angular.module('phonecat', []). config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) { $routeProvider. when('/phones', {templateUrl: 'partials/phone-list.html', controller: PhoneListCtrl}). when('/phones/:phoneId', {templateUrl: 'partials/phone-detail.html', controller: PhoneDetailCtrl}). otherwise({redirectTo: '/phones'}); $locationProvider.html5Mode(true); }]);