从 Template.myTemplate.rendered 函数(或其他模板函数),我想调用其他util函数。不确定如何以流星方式进行。
我试过
Template.myTemplate.rendered = function(){
console.log("chat Interface rendered");
Template.myTemplate.__helpers.get('someFunction');
};
Template.myTemplate.helpers({
'isEditable': function () {
return Session.get('editable');
},
'someFunction':function () {
console.log("someFunctionis called");
//More stuff here
}
});
这没有按预期工作。有没有标准的方法呢?
答案 0 :(得分:2)
在我看来,你是在滥用template helpers。通常,它们用于将数据导入模板而不是用于控制UI元素。
因此,我建议您创建一个常规JavaScript函数,然后在onRendered
回调中调用它:
function disableChatBtn() {
console.log("disableChatBtn is called");
$('#btn-chat').prop('disabled', true);
}
请注意: Template.myTemplate.rendered
在Meteor版本1.0.4.2(及更高版本)中已弃用,请改用 Template.myTemplate.onRendered
。
例如:
Template.myTemplate.onRendered(function() {
console.log("chat Interface rendered");
disableChatBtn();
});
答案 1 :(得分:0)
您可以创建一个流星方法,并在代码中的任何位置使用它。您也可以从其他方法调用方法。
Meteor.methods({
someMethod: function (param) {
//do stuff
}
});
var result = Meteor.call('someMethod', param);