在angularJS App中将url更改为/ home而不是#/ home

时间:2016-07-22 19:00:53

标签: angularjs

我有一个角度应用,我想更改每个页面的网址。网址显示为" .com /#/ home"而不是" .com / home"。任何想法?

'use strict';

angular.module('myApp.home', ['ngRoute'])

.config(['$routeProvider', function($routeProvider) {
  $routeProvider.when('/home', {
    templateUrl: 'home/home.html',
    controller: 'HomeCtrl'
  });
}])

.controller('HomeCtrl', [function() {

}]);

1 个答案:

答案 0 :(得分:0)

路由模式决定了您网站的网址。 $ location服务的默认行为是使用 hashbang模式进行路由。

hashbang网址如下所示:

xyz.com /#/收件箱/所有

AngularJS支持的其他路由模式是 html5Mode 。此模式使您的网址看起来像常规网址

HTML5模式如下:

xyz.com/inbox/all

您可以显式配置 hashbang 模式,需要在应用模块的配置功能中进行配置。

例如。

angular.module('myApp', ['ngRoute'])
.config(['$locationProvider', function($locationProvider) {
      $locationProvider.html5Mode(false);
}]);

明确配置 html5Mode 模式。

例如。

angular.module('myApp', ['ngRoute'])
.config(['$locationProvider', function($locationProvider) {
      $locationProvider.html5Mode(true);
}]);

Hashbang模式是AngularJS使用的默认模式,否则不会被告知。