0

我正在尝试添加评论,它有一个 {postId} 字段。目前我返回帖子 id 以将其添加到评论集合中,var id = FlowRouter.getParam('id');因为我的路线包括我将在参数中留下评论的特定帖子的 id。现在我想将路线而不是 myapp.com/posts/:id 更改为 myapp.com/post/:title 所以我不能再从参数中获取 id ....我怎样才能得到的 ID路由器参数中不再可用的帖子?

所以现在我的事件代码是:

Template.post.events({
  "click #submitComment": function () {
      var commentText = $("#commentfield").val();
     var postId = FlowRouter.getParam('id');` 
     Comments.insert({postId: postId, comment: commentText});
  } 

})

我记得我使用过类似的其他应用程序,template.data._id但我无法让它工作

这个问题也适用于我的助手和订阅者,我总是需要获取模板的特定帖子、评论、视频 id ......但需要找到一种方法,因为我不希望我的所有路线都包含 id他们。谢谢

4

2 回答 2

0

如果我理解正确,您正在将您的路线从拥有帖子 ID 更改为拥有标题字段。看起来你也知道#with。由于您的助手名为posts,因此这是一些我认为应该可以使用的示例代码:

Template.post.helpers({
    posts() {
        var post = Posts.findOne({title: FlowRouter.getParam('title')});
        if(post) {
            return post;
        }
    }
});

那么,我相信您的事件代码可以保持不变。

于 2016-02-11T23:17:44.167 回答
0

您缺少将模板变量传递给点击事件:

 "click #submitComment" : function (event, template) { ....

注意(event, template). 现在在活动中, template.data._id按照您的建议使用。

于 2016-02-11T21:08:50.220 回答