如何在不预加载模型的情况下构建链接?

时间:2013-02-20 13:21:27

标签: ember.js

现在,我们正在构建我们的链接:

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

这会生成一个类似/comments/45的链接。

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

可能看起来像:

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

1 个答案:

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

实际上您可以自由决定在应用中处理操作的位置