2015-09-07 155 views
0

我的路由器看起來像這樣的時刻:更改路徑

Router.map(function() { 
    this.route('item1'); 
    this.route('item2'); 
    this.route('item3', function(){ 
     this.route('sub-item', { path: '/sub-item' }); 
    }); 
}); 

我的模板文件夾是這樣的:

enter image description here

現在,當我有一個超鏈接如:

{{link-to 'Sub Item' 'item3.sub-item'}} 

這導航到sub-item.hbs內的item3文件夾。我如何更改嵌套的sub-item路徑的路徑,以便它改變文件夾中的sub-item.hbs文件?我試圖將其更改爲this.route('sub-item', { path: '../sub-item' });,但沒有奏效。

回答

0

您將需要重置命名空間this.route('sub-item', { path: '/sub-item', resetNamespace: true });並將item3/sub-item.hbs移動到sub-item/index.hbs

如果您要保留活動類,並且自動添加到鏈接,您的鏈接將變爲{{link-to 'Sub Item' 'sub-item.index'}}sub-item

+0

嘿。感謝你的回答。其實我想要實現的是'item3.sub-item'路徑在物理位置'templates \ sub-item.hbs'中顯示文件,而不是在'templates \ item3 \ sub- item.hbs' –

+1

@JeevanJose路由將保持嵌套,你只需要重置命名空間,以便解析器可以獲取正確的文件,它現在不會加載'sub-item.hbs',因爲你不在'子項目'路線 –