猿问

从AngularJS URL中删除片段标识符(#符号)

从AngularJS URL中删除片段标识符(#符号)

是否可以从angular.js URL中删除#符号?

当我更改视图并使用Params更新URL时,我仍然希望能够使用浏览器的Back按钮等,但我不想要#符号。

教程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'});}]);

如果没有#,我可以编辑它以具有相同的功能吗?


拉丁的传说
浏览 717回答 3
3回答

慕侠2389804

是的,你应该配置$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);   }]);

Cats萌萌

确保检查HTML 5历史API的浏览器支持:  if(window.history && window.history.pushState){     $locationProvider.html5Mode(true);   }
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答