我有一个相当简单的路由情况,但我无法让它工作。页面顶部的横幅有一个指向' /'的链接,我希望这会将用户带到我的AngularJS应用程序的顶层,但它没有。它需要我一些中间和破碎的页面。如果我然后重新加载该页面,它会进行重定向。
这是我的路线设置:
$routeProvider.when('/',
{
templateUrl : 'partials/landing.html',
controller : 'DataController',
title : appTitle + baseDelimiter + ' Home'
}
)
//other unrelated routes clipped out for brevity
.otherwise({
redirectTo: '/'
})
我认为它没有被重定向,因为我在app.js中有以下代码,只有当用户点击任何' /'链接(我看到窗口中的网址更改为http://localhost/#)
niwaDataApp.run(['$rootScope', '$route', function($rootScope, $route) {
$rootScope.$on('$routeChangeSuccess', function(newVal, oldVal) {
if (oldVal !== newVal) {
document.title = $route.current.title;
}
});
}]);
当它运行时$route.current.redirectTo
是" /",然后我在页面中留下了一个很大的Angular大洞。如果我重新加载它,代码会被调用两次,第一次$ route与之前相同,然后它具有适当的' /'的所有细节。上面的路线,网址更改为http://localhost/#/,页面填写正确。
那么为什么没有<a href="/">Click me</a>
让用户进入正确的路线,而从坏网址重新加载呢?
答案 0 :(得分:0)
如果使用a-href链接并使用片段路由,则还需要建立适当的链接,例如:
<a href="#/">Click me</a>