Meteor:如何检查模板实例是否还活着?

时间:2015-07-28 10:01:02

标签: javascript meteor meteor-blaze

我希望在10秒后自动重定向到下一个屏幕。 但仅当用户尚未离开页面时。 如果模板仍然存在,我如何测试回调方法(" alive" var代码如下)?

我的Coffeescript:

Template.handBackDevice.onRendered(->    
  delay 10000, ->
        if alive
            Router.go('/dropOff/confirmDropOff')
)

1 个答案:

答案 0 :(得分:0)

您应该在模板函数之外,在同一文件中,reactive variablereactive dictionary内部(或者作为Session变量)定义alive标志,如下所示(反应变量案例):

var isAlive = new ReactiveVar(false);

在呈现模板后将其设置为true

Template.name.onRendered = function(){
  isAlive.set(true);
  //add your delayed function
}

挂钩模板destroyed功能并在那里更新alive标志:

Template.handBackDevice.onDestroyed = function(){ 
   isAlive.set(false)
};

然后您可以使用

在延迟功能中进行检查
if (isAlive.get()){
//do your stuff
}