流星:如何检查模板实例是否还活着?
Meteor: How to check if template instance is still alive?
我想在 10 秒后自动重定向到下一个屏幕。
但前提是用户还没有离开页面。
如果模板仍然存在(下面代码中的 "alive" var),我该如何在回调方法中进行测试?
我的 Coffeescript:
Template.handBackDevice.onRendered(->
delay 10000, ->
if alive
Router.go('/dropOff/confirmDropOff')
)
你应该在你的模板函数之外定义你的 alive
标志,在同一个文件中,作为 reactive variable or inside a reactive dictionary (或者作为会话变量)像这样(反应变量案例):
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
}
我想在 10 秒后自动重定向到下一个屏幕。 但前提是用户还没有离开页面。 如果模板仍然存在(下面代码中的 "alive" var),我该如何在回调方法中进行测试?
我的 Coffeescript:
Template.handBackDevice.onRendered(->
delay 10000, ->
if alive
Router.go('/dropOff/confirmDropOff')
)
你应该在你的模板函数之外定义你的 alive
标志,在同一个文件中,作为 reactive variable or inside a reactive dictionary (或者作为会话变量)像这样(反应变量案例):
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
}