4

为什么 Angular 有时在 URL 中使用散列,而其他时候使用散列?我已经开始从头开始编写两个 Angular 应用程序。两者都没有使用 HTML5 模式。两者都有相同的默认路由。但是,默认 URL 的显示方式不同。

我已经看到这种随机行为至少一年了……早在 angular-route v1.6 之前。 另外,我一直使用 angular-ui-router。

默认路由:

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

应用程序 #1 解决了这个... http://localhost:3000 ... 到这个... http://localhost:3000/#/

应用程序 #2 解决了这个... http://localhost:3001 ... 到这个... http://localhost:3001/#!/

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

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

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

4

1 回答 1

4

当我们从 angular 1.5 升级到 angular 1.6 时,我们的应用程序的 URL 从/#/变为/#!/. 我们通过在应用程序配置中配置 hashPrefix 解决了这个问题:

angular.module("myApp").config(function($locationProvider) {
   $locationProvider.hashPrefix("");  
});
于 2017-01-12T11:15:04.167 回答