1

我正在使用 Meteor,所以有人可以建议我在显示(未加载)模板后可以处理的事件是什么......?例如,我有一个显示模式弹出窗口的模板。现在我想在模板“显示”(未加载)之后做一些事情。请建议我如何处理相应的事件。我努力了,

<template name = "SendMessage">

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

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

3 回答 3

1

对于从 0.4.0 预览版开始的 Meteor,您可能希望使用Template.myTemplate.rendered布尔值来跟踪 Template 对象中的状态,如下所示(因此每次更新模板的一部分时都不会调用它):

Template.myTemplate.rendered = function() {
    if(!this._rendered) {
      this._rendered = true;
      alert('load');
    }
}
于 2012-09-07T01:52:49.280 回答
0

您可以通过这种 hacky 方式实现:

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

或者更hacky

Template.SendMessage.check = function(){
  setTimeout(function(){    
         //modal code
   },0);
};
于 2012-08-10T13:49:39.670 回答
0

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

Template.PageDetail.onRendered(function(){
    this.autorun(() => { 
        FlowRouter.watchPathChange();
        // do the thing!
        yourFunction();
    })
})
于 2017-11-28T14:47:57.093 回答