标签: meteor-tracker

Meteor - 模板被销毁时停止跟踪器自动运行(用户离开页面)

在我的Meteor模板中,ohlcInit()当Mongo中有新数据时,我有一个名为autorun 的函数:

Template.Live.rendered = function(){

  function ohlcInit() {
    // computations run here
  }

  Tracker.autorun(function() {
      ohlcInit();
  });
};
Run Code Online (Sandbox Code Playgroud)

当用户在页面/模板上进行定义时,这非常有用,但只要用户导航到站点上的另一个URL并且模板被销毁,就会在控制台中抛出错误:

Tracker重新计算函数的异常:undefined不是函数TypeError:undefined不是函数在ohlcInit(http:// localhost:3000/client/views/live/live.js?dd5fb618daf9ea9e233c37caaa99002009e987:271:33)的http:// 在Tracker.Computation上的localhost:3000/client/views/live/live.js?dd5fb618daf9ea9e233c37caaa9ed200fe3e987:306:5在Tracker.Computation._compute(http:// localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:288:36) .rcompute(http:// localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:302:14)在Tracker.flush(http:// localhost:3000/packages/tracker.js?192a05cc46b867dadbe8bf90dd961f6f8fd1574f:430:14)

当用户导航到新的URL /模板时,如何安全地停止/结束自动运行计算?
我在用iron:router.

javascript mongodb meteor meteor-tracker

11
推荐指数
1
解决办法
3545
查看次数

Meteor.autorun vs Tracker.autorun?

Meteor.autorun和之间有什么区别Tracker.autorun

  • 他们只是别名吗?
  • 一个被弃用的?
  • 有没有一个人比另一个更好?

我很清楚this.autorun在模板生命周期回调中使用的区别,但已经看到这两个可以互换使用,只是想确保我没有错过任何技巧.

meteor meteor-tracker

7
推荐指数
1
解决办法
1560
查看次数

如何在静态非Meteor页面中使用Tracker.autorun?

我网站的某些页面是服务器端呈现的,因此通常的Meteor JavaScript包不可用.

我们希望保持页面尺寸不变,但是Tracker.autorun用于轻量级反应,我们怎样才能使用这片Meteor a-la-carte?

javascript reactive-programming meteor meteor-blaze meteor-tracker

1
推荐指数
1
解决办法
207
查看次数

如何仅在 React 属性更改时调用函数?

我希望alert()每次在 React 中跟踪的 Meteor 订阅withTracker更改时都显示一个模式对话框(例如)。

我试过使用 Tracker.autorun来跟踪更改,但无法确定在代码中放置它的位置。它似乎在Component构造函数中不起作用,如果放在render().

这是我的代码的概述:

class Foo extends Component {
    render() {
        return (
            <h1>Example Header</h1>
            { this.maybeShowAlert() }
        );
    }

    maybeShowAlert() {
       // ONLY if bar has been updated
       alert('bar has changed');
    }
}

export default withTracker(() => {

    Meteor.subscribe('bar')

    return {
        bar: Bar.findOne({})
    };
})(Foo);


Run Code Online (Sandbox Code Playgroud)

meteor reactjs meteor-tracker meteor-react

1
推荐指数
1
解决办法
1771
查看次数