我正在使用 Meteor,所以有人可以建议我在显示(未加载)模板后可以处理的事件是什么......?例如,我有一个显示模式弹出窗口的模板。现在我想在模板“显示”(未加载)之后做一些事情。请建议我如何处理相应的事件。我努力了,
<template name = "SendMessage">
//modal popup code
{{check}}
</template>
Template.SendMessage.check = function(){
alert("load");
};
我正在使用 Meteor,所以有人可以建议我在显示(未加载)模板后可以处理的事件是什么......?例如,我有一个显示模式弹出窗口的模板。现在我想在模板“显示”(未加载)之后做一些事情。请建议我如何处理相应的事件。我努力了,
<template name = "SendMessage">
//modal popup code
{{check}}
</template>
Template.SendMessage.check = function(){
alert("load");
};
对于从 0.4.0 预览版开始的 Meteor,您可能希望使用Template.myTemplate.rendered
布尔值来跟踪 Template 对象中的状态,如下所示(因此每次更新模板的一部分时都不会调用它):
Template.myTemplate.rendered = function() {
if(!this._rendered) {
this._rendered = true;
alert('load');
}
}
您可以通过这种 hacky 方式实现:
Template.SendMessage.check = function(){
Meteor.defer(function(){
//modal code
});
};
或者更hacky
Template.SendMessage.check = function(){
setTimeout(function(){
//modal code
},0);
};
假设您有一个模板,它只呈现一次,但想在 url 更改时做出反应,例如加载不同的模态等等。如果是这种情况,这是一种可能的方式。
Template.PageDetail.onRendered(function(){
this.autorun(() => {
FlowRouter.watchPathChange();
// do the thing!
yourFunction();
})
})