我不知道如何在 EmberJS 的新路由器 API 中创建具有动态段的路由。我已经花了一个星期的时间尝试了很多东西,但它不起作用。我对自己感到非常沮丧,因为我已经多次阅读了文档、API 和源代码,但无法弄清楚如何完成这项工作。我渴望得到帮助。
我正在尝试实现以下路线:
- /profile/:userId -> 索引
- /profile/:userId/activity -> 活动页面
- /profile/:userId/...
我的路由器是这样设置的
App.Router.map(function() {
return this.resource("profile", function() {
this.route("index", { path: '/:userId' });
this.route("activity", { path: '/:userId/activity' });
});
});
然后,每当我尝试与linkTo
帮助程序链接时,都会收到以下错误:Uncaught More objects were passed than dynamic segments
<li>{{#linkTo "profile.index" user}}overview{{/linkTo}}</li>
如果我不包含该user
对象,那么我会收到另一个错误Uncaught Error: assertion failed: Cannot call get with 'id' on an undefined object.
(显然是因为没有对象可以获取其 ID)
如果有任何帮助,这是我的路线声明
App.ProfileIndexRoute = Ember.Route.extend({
model: function(params) {
return Ember.Object.create({
id: 1
});
},
setupController: function(controller, model) {
return controller.set("content", model);
}
});
App.ProfileActivityRoute = Ember.Route.extend({
model: function(params) {
return Ember.Object.create({
id: 1
});
},
setupController: function(controller, model) {
return controller.set("content", model);
}
});