链接到/

时间:2015-05-06 09:08:23

标签: angularjs route-provider

我有一个相当简单的路由情况,但我无法让它工作。页面顶部的横幅有一个指向' /'的链接,我希望这会将用户带到我的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>让用户进入正确的路线,而从坏网址重新加载呢?

1 个答案:

答案 0 :(得分:0)

如果使用a-href链接并使用片段路由,则还需要建立适当的链接,例如:

<a href="#/">Click me</a>