2015-02-24 342 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