【问题标题】:Meteor: Can I use reactive vars outside of template helpers?Meteor:我可以在模板助手之外使用响应式变量吗?
【发布时间】:2016-01-23 02:34:19
【问题描述】:

我认为每个包含反应变量(例如会话变量)的函数总是在变量更改时重新运行。当我在模板助手中使用它们时会发生这种情况:

<template name="temp">
   {{reactiveHelper}}
</template>

Template.temp.helpers({
    reactiveHelper: function(){
        return Session.get('reactVar');
    }
});

但是,我希望模板中未包含的功能具有相同的行为。例如:

reactiveFunction = function(){
    console.log(Session.get('reactVar'));
};

这是不是响应性设计的东西,还是我做错了什么?

【问题讨论】:

  • 查看文档的reactivity 部分,以更好地了解反应式上下文和数据源。要创建任意响应式上下文,您需要使用 autorun

标签: javascript meteor meteor-blaze


【解决方案1】:

您需要将您的函数包装在 Tracker.autorun

http://docs.meteor.com/#/full/tracker_autorun

  Tracker.autorun(function(){
    console.log(Session.get('reactVar'));
});

【讨论】:

  • 谢谢。完全忘记了,虽然我以前用过 :)
猜你喜欢
  • 2013-02-14
  • 1970-01-01
  • 2015-03-11
  • 2012-06-18
  • 2014-11-28
  • 2015-07-28
  • 2016-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多