2016-10-24 92 views
1

要鏈接到記錄,您可以使用這樣的事情在你的路線:EmberJs - 鏈接到多個動態路由,多重嵌套層次

this.route('clients', function() { 
     this.route('all',function(){ 
      this.route('view',{ 
       path:'view/:client_id' 
      }); 
     }); 
    }); 

所以,如果用戶要轉到: /客戶/所有/ view/-KdFmDwwWAHDFjjaG6aA

他們可以查看該客戶記錄。

是否可以在更深層次上進行鏈接?例如:

/客戶/所有/圖/ -KdFmDwwWAHDFjjaG6aA /屬性/ -KdFeTqqUIKLFqbaP9aB

這樣,您可以查看特定的客戶記錄,然後啓動疊加層以顯示客戶有待售的單個房產的具體情況?

我不知道如何構建路由器或鏈接來完成此?

回答

2

我希望我能正確理解你的問題。這裏是我的回答,

是的,它可能有一個更深層次的,我會改變你的路線配置有點:

this.route('clients', { path: '/clients' }, function(){ 

    this.route('view', { path: '/:clients_id' }, function(){ 

     this.route('property', { path: '/property/:property_id' }); 
    }); 
    }); 

因此,在這種情況下,您的link-to代碼在HBS

{{#link-to 'clients.view.property' clientId}} 
    whatever 
{{/link-to}} 

,現在的文件結構是:

clients/ 
|___index.hbs 
|___view.hbs 
|___view/ 
    |___propery.hbs 

P請記住你還需要修改你的route.js。我認爲你沒有任何問題。

如果您需要更多幫助,請讓我知道。

+0

不知道路徑中的URL之前的斜槓很重要,但我得到它的工作。謝謝! – Matt

+0

什麼是路由的目錄結構,爲什麼view.hbs不能作爲index.hbs在視圖文件夾 – piscript

+0

@piscript它只是我的組織,你可以做任何更有意義的事情給你。儘管Matt希望index.hbs成爲客戶端列表,而查看只是顯示客戶端的詳細信息,但正如我所說,只要它適用於您,您就可以自由更改它 – Majid