2015-11-26 49 views
1

如果我有以下狀態:與父母的URL ==嵌套國家/

$stateProvider 
    .state('home', { 
     url: '/', 
     views: { 
      'dashboard-body': { 
       templateUrl: './modules/main-dashboard.options.html', 
       controller: 'MainDashboardController', 
       controllerAs: 'vm' 
      } 
     } 
    }); 

能把它有一個嵌套的狀態...我與它有麻煩,我有以下狀態:

$stateProvider 
    .state('home', { 
     url: '/', 
     views: { 
      'dashboard-body': { 
       templateUrl: './modules/main-dashboard.options.html', 
       controller: 'MainDashboardController', 
       controllerAs: 'vm' 
      } 
     } 
    }) 
    .state('home.purchases', { 
     url: '/purchases', 
     views: { 
      '[email protected]': { 
       templateUrl: './modules/purchases/purchases-dashboard.options.html', 
       controller: 'PurchasesDashboardController', 
       controllerAs: 'vm' 
      } 
     } 
    }); 

但是如果我去home.purchases狀態產生的網址是:http://localhost:3000//purchases

如果home.purchases有屬性url,如:url: 'purchases',它產生正確的UR l http://localhost:3000/purchases但它不會改變視圖...任何想法?

+0

嘗試更改您的'home'國家URL到'url:'''。此外,您的家庭狀態模板是否包含嵌套的'ui-view =「dashboard-body」?如果沒有,你的*購買*狀態視圖應該是''dashboard-body @'' – Phil

+0

它與''dashboard-body @''一起工作! Thnks –

回答

0

如果你的根視圖(通常index.html)已與

ui-view="dashboard-body" 

元素那麼你home.purchases狀態需要參考使用

views: { 
    '[email protected]': { 
     // ... 
    } 
} 

否則這一觀點,它試圖將模板加載到視圖名爲dashboard-bodyhome州模板(modules/main-dashboard.options.html