6

现在,我们正在建立这样的链接:

<a {{action showComment comment href=true}}>Show</a>

这会生成一个看起来像/comments/45.

不幸的是,这只有在我们预加载评论时才有效——即使我们已经有了评论的 ID。是否可以不预加载评论?

可能看起来像这样的东西:

<a {{action showComment comment_id href=true}}>Show</a>
4

1 回答 1

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);
        }
    }
});

所以实际上你可以自由决定在你的应用程序中处理动作的位置。

于 2013-02-23T16:59:17.490 回答