现在,我们正在构建我们的链接:
<a {{action showComment comment href=true}}>Show</a>
这会生成一个类似/comments/45
的链接。
不幸的是,这只有在我们预加载评论时才有效 - 即使我们已经有了评论的ID。没有预加载评论是否可能?
可能看起来像:
<a {{action showComment comment_id href=true}}>Show</a>
答案 0 :(得分:2)
这里的实际问题是什么?这对我来说不太清楚。
所以你当前的动作处理程序如下所示:
showComment : function(comment){
//do your stuff with the model
}
现在您所需的解决方案可能如下所示:
<a {{action showCommentById comment_id href=true}}>Show</a>
相应的处理程序:
showCommentById : function(commentId){
var comment = App.Comment.findById(commentId); // i assume you have this retrieval method or something like it
this.showComment(comment);
},
showComment : function(comment){
//do your stuff with the model
}
这会对你的情况有效吗?或者你想要别的吗?
更新:OP希望路由中包含所有数据处理 你的路线应该处理我之前提出的行动“showCommentById”:
App.ArticlesRoute = Ember.Route.extend({
events : {
showCommentById : function(commentId){
var comment = App.Comment.findByIds(commentId); // i assume you have this retrieval
this.transitionTo("root.articles.comment", comment);
}
}
});
实际上您可以自由决定在应用中处理操作的位置。