我正在使用Angular ui.router来浏览我的应用程序。 通常,网址应如下所示:
http://localhost:8001/#/start
但就我而言,它看起来像这样:
http://localhost:8001/#!/start
这是什么意思?
我也认识到如果我从这个网站调用的URL与我的起始页不同,我总是会被重定向,因为URL似乎无效。
mainApp.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
'use strict';
$urlRouterProvider.otherwise('start');
$stateProvider
.state('start', {
url: '/start',
templateUrl: 'views/start.html'
})
.state('registration-activate', {
url: '/registration/activate/{activationKey}',
templateUrl: 'views/registration-activation.html'
})
;
}]);
每当我尝试调用localhost:8001 /#/ registration / activate / xyz时,我都会被重定向到起始页面。
答案 0 :(得分:2)
好的伙计们,谢谢你的解释。 我解决了我的问题,即我无法通过将链接添加到我的配置来调用链接中的URL:
$locationProvider.hashPrefix('');
答案 1 :(得分:0)
如果浏览器是HTML5浏览器,angularJS会将其重定向到#!
否则只会#
。
在$location
上阅读此documentation here,详细了解原因。
- 在旧版浏览器中打开常规网址 - >重定向到hashbang网址
- 在现代浏览器中打开hashbang网址 - >重写为常规网址