【问题标题】:Meteor getting data from router流星从路由器获取数据
【发布时间】:2015-03-26 06:29:05
【问题描述】:

我无法从 Iron:router 获取数据。 我试图通过 param._id 获取数据,然后将其传递给我的 template.created 以设置会话变量以进行编辑。

这是我在路由器中的代码:

Router.route('/edit/:_id', function(){
    this.render('edit', {
        data: function(){

                return Collection.findOne({_id: this.params._id})
        }
    })  
})

然后我想在这里访问该数据:

Template.edit.created = function(){

   data = ???
   Session.set('edit', data)
   $(input).val(data.post)

}

如果我这样做console.log( this ),我会得到Blaze.TemplateInstance

但是当我在 Template.edit.events 中console.log(this) 时,我从 Iron:router 中得到了我想要的文档。

【问题讨论】:

    标签: javascript meteor iron-router


    【解决方案1】:

    我使用了Template.currentData(); 并设法访问了 template.created 中的数据,但有人能解释一下为什么 template.created 和 template.events 中的“this”指的是两个不同的东西吗?

    【讨论】:

    • 请不要在回答中提问。它可能会在 cmets 中引发冗长的讨论。如果您需要问其他问题,请提出一个新问题。不要忘记接受你自己的答案。
    • 感谢您的意见,仍在学习 Stack 的方法,我想接受我的回答,但它说我在 2 天内无法接受。
    【解决方案2】:

    对于 template.created 和 template.rendered,您可以使用 this.data 访问数据。

    【讨论】:

      猜你喜欢
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2015-01-18
      • 2016-09-22
      • 1970-01-01
      • 2020-08-20
      • 1970-01-01
      相关资源
      最近更新 更多