【发布时间】:2016-12-22 15:02:04
【问题描述】:
为什么 Angular 有时在 URL 中使用散列,而有时使用散列?我已经开始从头开始编写两个 Angular 应用程序。两者都没有使用 HTML5 模式。两者都有相同的默认路由。但是,默认 URL 的显示方式不同。
我已经看到这种随机行为至少一年了……早在 angular-route 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/#!/
注意默认 URL 中的最后两个字符。
我知道如何激活 HTML5 模式和漂亮的 URL。这不是我要问的。我真的很想了解上述两个 URL 的重要性以及为什么 Angular 以不同的方式编写它们。
当前版本:
angular-ui-router v0.3.2
角度 v1.6.0
【问题讨论】:
-
这很可能与哈希前缀设置有关 - 默认值可能会因我认为的角度版本而异。不确定角度 ui 路由器是否会混淆。您是否对两个应用程序使用相同的角度版本?尝试使用 $locationProvider.hashPrefix() 在应用程序的配置块中手动设置它,看看它如何影响 url
标签: angularjs angular-ui-router angularjs-1.6