是否可以从angular.js URL中删除#符号?
当我更改 View 并使用参数更新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
:
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);
}]);
关于angularjs - 从AngularJS网址中删除片段标识符(#符号),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14771091/