为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

拉丁的传说 2019-06-14 15:17:03
从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'});}]);如果没有#,我可以编辑它以具有相同的功能吗?
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

是的,你应该配置$locationProvider并设定html5Modetrue:

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);

  }]);


查看完整回答
反对 回复 2019-06-14
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

确保检查HTML 5历史API的浏览器支持:

  if(window.history && window.history.pushState){
    $locationProvider.html5Mode(true);
  }


查看完整回答
反对 回复 2019-06-14
  • 3 回答
  • 0 关注
  • 716 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信