2014-02-11 59 views
1
.state('add', { 
    parent: 'home', 
    url: 'add/', 
    views: { 
     'pop': { 
      templateUrl: '/views/nav.html' 
     } 
    }, 
}); 

從父狀態'home'轉換到'home.add'不會將模板'/views/nav.html'加載到目標視圖('pop')中。Angular UI路由器:狀態轉換親子

其他一切正常。這個問題似乎與小孩國家是排他性的。

我已經嘗試過這樣的:

.state('home.add', { 
    url: 'add/', 
    views: { 
     'pop': { 
      templateUrl: '/views/nav.html' 
     } 
    }, 
}); 

不正常工作。 (在這種情況下,我將ui-sref =「add」更改爲ui-sref =「home.add」)。

這兩個示例都會將URL更改爲狀態URL,但似乎不會在狀態之間轉換,也不會呈現來自新狀態(如果它具有父級)的任何視圖。

謝謝。

@citizenslave解決了我的問題,謝謝!

.state('add', { 
    parent: 'home', 
    url: 'add/', 
    views: { 
     '[email protected]': { 
      templateUrl: '/views/nav.html' 
     } 
    }, 
}); 
+0

你的來自'home'狀態的模板是否有'ui-view ='pop'來插入子狀態模板?如果不是,並且您正在使用「家庭」狀態的「流行」視圖,則必須在適當的狀態下解決它。你可以用「pop @ home」來絕對引用它。 [UI-Router Wiki](https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views) – citizenslave

+1

@citizenslave謝謝,男人!引用視圖'pop @'做到了!非常感謝你 ;) – gugiserman

回答

1

您的來自主狀態的模板需要有一個ui-view='pop'來插入子狀態模板。如果沒有,並且您正在使用主狀態的'pop'視圖,則必須以適當的狀態解決它。你可以絕對參考'[email protected]'UI-Router Wiki

相關問題