为什么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
答案 0 :(得分:4)
当我们从角度1.5升级到角度1.6时,我们的应用网址已从/#/
更改为/#!/
。我们通过在应用程序配置中配置hashPrefix来解决问题:
angular.module("myApp").config(function($locationProvider) {
$locationProvider.hashPrefix("");
});