2016-02-12 27 views
0

我無法加載模板網址否則狀態,但是,能夠重定向到指定url.I使用urlRouterProvider曾試過,但沒有用的。無法加載一個templateURL爲stateprovider否則選項

任何人都可以請幫我在這個問題......

我的JS:

.config(function ($stateProvider, $urlRouterProvider) { 


      $stateProvider 
       .state('home', { 
         url: 'abc/home', 
         templateUrl: 'views/main.html' 
        }) 

       .state('about',{ 
         url:'abc/about', 
         controller:'KPIAnalyzeCtrl', 
         templateUrl:'views/about.html' 
        }) 
       .state('otherwise', { 
         url: 'abc/home', 
         templateUrl: 'views/main.html' 
        }); 


// $urlRouterProvider.otherwise('abc/home'); 


    }); 

回答

0

否則不與任何模板的工作,它不是一個國家。這是一個「重定向」網址。所以,如果你鍵入不存在的網址,就會「重定向」到一個,所以它應該是一個有效的狀態(或服務器響應,如果你不希望它是SPA內)

所以如如果你做abc/blahblah,那麼它會去abc/home。在你的例子中,你似乎需要刪除其他狀態,然後它應該將你重定向到主狀態。

.config(function ($stateProvider, $urlRouterProvider) { 


     $stateProvider 
      .state('home', { 
        url: 'abc/home', 
        templateUrl: 'views/main.html' 
       }) 

      .state('about',{ 
        url:'abc/about', 
        controller:'KPIAnalyzeCtrl', 
        templateUrl:'views/about.html' 
       }); 


     $urlRouterProvider.otherwise('abc/home'); 

});

+0

其實在頁面上我應該加載家裏的負擔state.I've使用上面的代碼,但無法加載templateUrl – dev777

+0

我並沒有完全得到你的意思,但如果你在瀏覽器中鍵入http: // yourhost/abc/home,它會正常工作,然後http:// yourhost/blahblha應該將您重定向到/ abc/home,就像您鍵入它一樣。 –

+0

其實在主頁上,我有沒有在頁面加載 – dev777

0

嘗試下面的代碼。您需要指向urlRouterProvider中的狀態

.config(function ($stateProvider, $urlRouterProvider) { 


     $stateProvider 
      .state('home', { 
        url: 'abc/home', 
        templateUrl: 'views/main.html' 
       }) 

      .state('about',{ 
        url:'abc/about', 
        controller:'KPIAnalyzeCtrl', 
        templateUrl:'views/about.html' 
       }) 
      .state('otherwise', { 
        url: '/otherwise', 
        templateUrl: 'views/main.html' 
       }); 

$urlRouterProvider.otherwise('/otherwise'); 

});

0

當你想在頁面加載負荷的家鄉,使用下面的代碼或從下面的代碼更改主頁的狀態。

.config(function ($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('home', { 
       url: '/', 
       templateUrl: 'views/main.html' 
      }) 

     .state('about',{ 
       url:'abc/about', 
       controller:'KPIAnalyzeCtrl', 
       templateUrl:'views/about.html' 
      }) 
     .state('otherwise', { 
       url: '/otherwise', 
       templateUrl: 'views/main.html' 
      }); 

      $urlRouterProvider.otherwise('/'); 
}) 
相關問題