我在索引路线上有一个“可选”动态段。
导航到索引(http://foo.com)会加载默认模板index.hbs。
导航到索引上的动态细分(http://foo.com/123)会加载另一个模板chat.hbs。
router.js
Router.map(function() {
this.route('index', { path: '/' });
this.route('index', { path: '/:room_id' });
...
}
路由/ index.js
model(params) {
if (params.room_id) {
this.set('templateName', 'chat');
...
}
}
在使用link-to helper之前一切正常。
{{#link-to 'index'}}Home{{/link-to}}
这会生成指向http://foo.com/undefined
的链接,而不仅仅是http://foo.com
我已经尝试将模型传递给link-to helper,但还没有找到让它工作的方法。
答案 0 :(得分:2)
Kitler在评论中回答了我的问题。
解决方案是为动态细分创建一条新路线。
<强> router.js 强>
Router.map(function() {
this.route('index', { path: '/' });
this.route('chat', { path: '/:room_id' });
...
}
<强>路由/ chat.js 强>
model(params) {
if (params.room_id) {
return params.room_id;
}
}