我正在使用meteor reactive-var包。如何在模板的js文件中定义的匿名函数中获取反应变量? viewer.js:
Template.viewer.helpers({
counter: function () {
return Template.instance().counter.get();
}
});
Template.viewer.onCreated(function() {
this.counter = new ReactiveVar(0);
});
Template.viewer.onRendered(function(e){
viewerRendered();
});
function getCounter() {
// !!Return reactive counter variable
}
function viewerRendered() {
var counter = getCounter();
$(document).trigger("ViewerCreated",counter);
}
感谢。
答案 0 :(得分:1)
如果您需要通过onRendered()
回调访问外部函数中的当前模板,您有多种方法:
使用外部函数作为直接回调:
Template.viewer.onRendered(viewerRendered)
function viewerRendered() {
let currentTemplate = this
//...
}
将当前模板作为参数传递:
Template.viewer.onRendered(function() {
viewerRendered(this)
})
function viewerRendered(currentTemplate) {
//...
JavaScript函数非常灵活,因为this
是动态的,还有其他方法可以访问数据
以上两个是简单的用例。
您可以使用模板进行任何操作,例如使用data访问subscriptions ...