我有html
这个模板:
<template name="entryfield">
<input type="text" id="name" placeholder="Name" /> <input type="text" id="message" placeholder="Your Message" /><br>
<input type="button" class="plusbutt" value="+"/><input type="button" class="minusbutt" value="-"/>
</template>
我要宣布2按钮事件:
Template.entryfield.events = {
'click .plusbutt': function() {
// Submit the form
var name = document.getElementById('name');
var mood = document.getElementById('mood');
var message = document.getElementById('message');
if(name.value != '' && message.value != ''){
Messages.insert({
name: name.value,
mood: '+',
message: message.value,
time: Date.now()
});
name.value = '';
message.value = '';
}
}
}
'click .minusbutt': function() {
// Submit the form
var name = document.getElementById('name');
var mood = document.getElementById('mood');
var message = document.getElementById('message');
if(name.value != '' && message.value != ''){
Messages.insert({
name: name.value,
mood: '-',
message: message.value,
time: Date.now()
});
name.value = '';
message.value = '';
}
}
但我有错误:
chat.js:58:19: Unexpected token :
第58行是第二个事件声明的开头。但是当我完全拿出第二个事件时,一切都正常。我的问题是人们如何在同一个模板事件中声明多个函数?我到处都看到了,但我无法让它发挥作用。谢谢!
我在哪里可以找到模板事件的参考?学习Meteor的问题在于它们的功能来自全国各地,一些来自MongoDB,一些来自Handlebar,一些来自JavaScripts,这使得初学者难以接受。
答案 0 :(得分:1)
您的事件声明语法错误,请小心!
请务必查看Meteor文档,所有内容都是详细的:http://docs.meteor.com/#template_events
应该是这样的:
Template.entryfield.events({
"click .plusbutt":function(){
/* ... */
},
"click .minusbutt":function(){
/* ... */
}
});
Template.myTemplate.events是一个以对象作为参数的函数。 对象的每个成员都应该是键/值对,键是事件声明,值是相应的处理程序。