2015-02-24 128 views
0

我有一个配置为我的$ routeprovider,当我将redirectTo: function() {'/dasboard'}更改为redirectTo: function() {'/home'}时,它将转到另一条路线.otherwise({redirectTo: '/404'});AngularJS redirectTo找不到正确的路径

home.html和dashboard.html位于同一级别文件夹,我正在使用此Template。可能是什么问题呢?

app.config([ 
'$routeProvider', function($routeProvider) { 

    return $routeProvider 

    .when('/', { 

       redirectTo: function() {return '/home'} /*before 'return /dasboard'*/ 
    }) 

    .when('/login', { 

       templateUrl: '/views/pages/signin.html' 
    }) 

    .when('/signup', { 

       templateUrl: '/views/signup.html' 
    }) 

    .when('/dashboard', { 

       templateUrl: 'views/dashboard.html' 
    }) 

    .otherwise({ 

    redirectTo: '/404' 
    }); 
} 

]);

+0

这是一个MVC应用程序? – rlcrews 2015-02-24 16:41:16

回答

1

您遇到的问题是您重定向到不存在的路线。然后,您尝试在另一条未定义的路线上回退。

您需要声明“主页”和“404”路线。

.when('/home', { 
    templateUrl: 'views/home.html' 
}) 
.when('/404', { 
    templateUrl: 'views/404.html' 
}) 

您重定向到的路线需要有模板。您重定向的路线不会。

你可以阅读更多关于$routeProvider这里:https://docs.angularjs.org/api/ngRoute/provider/ $ routeProvider

+0

我不想使用模板或templateUrl我需要重定向到不同的位置,因为是一个渴望的页面和模板将加载视图,但导航控件和其他菜单仍然可用;请解释我认为你告诉我必须创建路由才能重定向?有道理我会尝试一下 – Xvegas 2015-02-24 16:48:01