如何在模板助手中获取 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;
   }
});