如何在模板助手中获取 Iron 路由器数据上下文
How can I get Iron router data context in template helper
我是 Meteor 的新手。我在 iron:router 中设置数据上下文如下:
Router.route('/:index', {
name:'randomText',
template: 'textsRandom',
data: function(){
textcol: Text.findOne({index: this.params.index})
}
}
而在模板 textsRandom 中,我想在助手中访问 textcol
因为我想稍后更改文本中特定单词的颜色。
Template.textRandom.helpers({
mytexts: function(){
var texts = //code here to get textcol in router.js
//get some words from texts and change their colors
return texts;
}
})
关于如何做到这一点有什么建议吗?非常感谢
应该这样做:
// router
function(){
return {
textcol: Text.findOne({index: this.params.index})
};
}
// helper
var texts = this.textcol;
您的路由器正在将路由的数据上下文设置为一个对象。您可以访问助手中的对象 this
。既然你想要那个对象的 textcol
键,那么只需:
Template.textRandom.helpers({
mytexts: function(){
return this.textcol;
}
});
我是 Meteor 的新手。我在 iron:router 中设置数据上下文如下:
Router.route('/:index', {
name:'randomText',
template: 'textsRandom',
data: function(){
textcol: Text.findOne({index: this.params.index})
}
}
而在模板 textsRandom 中,我想在助手中访问 textcol
因为我想稍后更改文本中特定单词的颜色。
Template.textRandom.helpers({
mytexts: function(){
var texts = //code here to get textcol in router.js
//get some words from texts and change their colors
return texts;
}
})
关于如何做到这一点有什么建议吗?非常感谢
应该这样做:
// router
function(){
return {
textcol: Text.findOne({index: this.params.index})
};
}
// helper
var texts = this.textcol;
您的路由器正在将路由的数据上下文设置为一个对象。您可以访问助手中的对象 this
。既然你想要那个对象的 textcol
键,那么只需:
Template.textRandom.helpers({
mytexts: function(){
return this.textcol;
}
});