现在,我们正在建立这样的链接:
<a {{action showComment comment href=true}}>Show</a>
这会生成一个看起来像/comments/45
.
不幸的是,这只有在我们预加载评论时才有效——即使我们已经有了评论的 ID。是否可以不预加载评论?
可能看起来像这样的东西:
<a {{action showComment comment_id href=true}}>Show</a>
现在,我们正在建立这样的链接:
<a {{action showComment comment href=true}}>Show</a>
这会生成一个看起来像/comments/45
.
不幸的是,这只有在我们预加载评论时才有效——即使我们已经有了评论的 ID。是否可以不预加载评论?
可能看起来像这样的东西:
<a {{action showComment comment_id href=true}}>Show</a>
这里的实际问题是什么?这对我来说不是很清楚。
因此,您当前的操作处理程序如下所示:
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);
}
}
});
所以实际上你可以自由决定在你的应用程序中处理动作的位置。