2012-08-08 107 views
1

我正在使用流星,所以有人可能会建议我可以在模板显示(未加载)后处理的事件...?例如,我有一个显示模式弹出窗口的模板。现在我想在模板“显示”(未加载)后执行某些操作。请建议我如何处理相应的事件。 我都试过了,模板加载事件

<template name = "SendMessage"> 

//modal popup code 
{{check}} 
</template> 

Template.SendMessage.check = function(){ 
alert("load"); 
}; 
+0

请看看http://stackoverflow.com/questions/10109788/callback-after-the-dom-was-updated-in-meteor-js。它对你有用吗? – 2012-08-09 02:21:36

回答

0

可以achive,在这个哈克的方式:

Template.SendMessage.check = function(){ 
    Meteor.defer(function(){ 
     //modal code 
    }); 
}; 

或者

Template.SendMessage.check = function(){ 
    setTimeout(function(){  
     //modal code 
    },0); 
}; 
1

的流星从0.4.0预览开始更多的哈克,你可能想使用Template.myTemplate.rendered并使用布尔值来跟踪Template对象中的状态(因此,每次更新模板的一部分时都不会调用它):

Template.myTemplate.rendered = function() { 
    if(!this._rendered) { 
     this._rendered = true; 
     alert('load'); 
    } 
} 
0

假设你有一个呈现一次但想在url更改时反应的模板,如加载不同的模式等。 如果是这种情况,这是一种可能的方式。

Template.PageDetail.onRendered(function(){ 
    this.autorun(() => { 
     FlowRouter.watchPathChange(); 
     // do the thing! 
     yourFunction(); 
    }) 
})