2013-01-24 184 views
1

我正在構建一個應用程序,它將會有幾層子視圖,我對如何構建路由器感到困惑。我很自然地將平面視圖全部自動替換爲最上面的{{outlet}},但現在我的子視圖將具有他們自己的子視圖。EmberJS路由器和嵌套視圖

是否有任何新的(pre4)EmberJS路由器處理子視圖樹的例子? Router Guide介紹了「資源」的概念,但我不知道這是什麼,我不知道它是否會幫助我。

謝謝!

回答

2

這裏是一個關於如何在Ember中使用資源方法的例子。這個想法是將邏輯上合在一起的路線分組。如果您想要描述交互,請與產品說明,您想要列出,創建,編輯和刪除產品。那麼你的路由應該被定義爲

APP.Router.map(function(match) { 
    this.resource("products", function(){ 
    this.route('new'); 
    this.route('edit',{path:'/edit/:id'}); 
    this.route('delete',{path:'/delete/:id'}); 
    }); 
}); 

然後你就可以通過以下網址與相關意見互動

/#/products 
/#/products/new 
/#/products/edit/1 
/#/products/delete/1 

這,在某種程度上,將幫助你描述狀態方面的應用和子狀態。

+0

這絕對有幫助。謝謝。 – shs

+0

我很高興它:) – ken

+0

所以要跟進路由器。如果我的應用程序具有傳統選項卡視圖「A」,「B」和「C」,該怎麼辦?在「A」下,我有選項卡「X」,「Y」和「Z」。路線看起來如何?我會在「A」裏面有「{{outlet}}」嗎? – shs