流星从路由器获取数据
Meteor getting data from router
我无法从 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
.
但是当我 console.log(this)
在 Template.edit.events 时,我从 iron:router.
得到了我想要的文档
我使用了 Template.currentData();
并设法访问了 template.created 中的数据,但是有人可以解释为什么 template.created 和 template.events 中的 "this" 指的是2 个不同的东西?
对于 template.created 和 template.rendered,您可以使用 this.data
访问数据。
我无法从 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
.
但是当我 console.log(this)
在 Template.edit.events 时,我从 iron:router.
我使用了 Template.currentData();
并设法访问了 template.created 中的数据,但是有人可以解释为什么 template.created 和 template.events 中的 "this" 指的是2 个不同的东西?
对于 template.created 和 template.rendered,您可以使用 this.data
访问数据。