Angular Hash与Hashbang

时间:2016-12-22 15:02:04

标签: angularjs angular-ui-router angularjs-1.6

为什么Angular有时会在URL中使用哈希值,有时候会使用hashbang?我已经开始从头开始编写两个Angular应用程序了。两者都没有使用HTML5模式。两者都具有相同的默认路由。但是,默认URL显示不同。

我已经看到这种随机行为至少一年......在角度路线v1.6之前很久。 另外,我一直使用angular-ui-router。

默认路线:

configRoutes.$inject = ['$urlRouterProvider'];
function configRoutes ($urlRouterProvider) {
    $urlRouterProvider.otherwise('/');
}

App#1解决了这个问题......     http://localhost:3000 ......对......     http://localhost:3000/#/

App#2解决了这个......     http://localhost:3001 ......对......     http://localhost:3001/#!/

请注意默认网址中的最后两个字符。

我知道如何激活HTML5模式和漂亮的网址。那不是我要问的。我真的想了解上面两个URL的重要性以及为什么Angular以不同的方式编写它们。

当前版本:
angular-ui-router v0.3.2
角度v1.6.0

1 个答案:

答案 0 :(得分:4)

当我们从角度1.5升级到角度1.6时,我们的应用网址已从/#/更改为/#!/。我们通过在应用程序配置中配置hashPrefix来解决问题:

angular.module("myApp").config(function($locationProvider) {
   $locationProvider.hashPrefix("");  
});