2015-09-07 196 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',因为你不在'子项目'路线 –