0
我有一个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,这使得初学者很难接受。
那么我们什么时候使用'Template.entryfield.events = {/*....*/}'? – sooon
@sooon你不这样做,那只会用一个对象覆盖'events'函数,你不能再次调用它来添加事件。另外请注意,您可以多次调用'events'函数来继续添加更多事件处理程序。 – sbking
经过大量的重复阅读和思考之后,我想我现在就明白了。我做错了什么是我定义了'模板帮助函数',它不是'events'本身。现在我懂了。 – sooon