这是我的问题:
在模板文件中:
<template name="button">
<button class="btn-class">{{disp}}</button>
</template>
在js中:
Template.button.events({
'click': function(event, templ) {
if (this.onClick) {
this.onClick();
}
}
})
在其他使用“按钮”的模板中:
<template name="buttonGroup">
{{> button disp='button 1' onClick=onButton1Click}}
{{> button disp='button 2' onClick=onButton2Click}}
</template>
和它的js:
Template.buttonGroup.helpers({
onButton1Click: function() {
console.log('button 1 is clicked');
},
onButton2Click: function() {
console.log('button 1 is clicked');
},
});
显然,这是行不通的,因为模板buttonGroup会将“ onButton1Click()”传递给按钮,而不是函数,而传递给result(返回“ undefined”)。
那么,如何使流星将辅助函数作为参数传递给子模板呢?
在助手中返回函数,而不是直接将要执行的代码放入:
Template.buttonGroup.helpers({
onButton1Click: function() {
return function(event, template){
console.log('button 1 is clicked');
};
},
onButton2Click: function() {
return function(event, template){
console.log('button 1 is clicked');
};
}
});
Template.button.events({
"click": function(event, template) {
if (this.onClick) {
this.onClick(event, template);
}
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句