流星模板事件功能错误

时间:2014-02-22 17:28:55

标签: javascript mongodb meteor

我有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,这使得初学者难以接受。

1 个答案:

答案 0 :(得分:1)

您的事件声明语法错误,请小心!

请务必查看Meteor文档,所有内容都是详细的:http://docs.meteor.com/#template_events

应该是这样的:

Template.entryfield.events({
    "click .plusbutt":function(){
        /* ... */
    },
    "click .minusbutt":function(){
        /* ... */
    }
});

Template.myTemplate.events是一个以对象作为参数的函数。 对象的每个成员都应该是键/值对,键是事件声明,值是相应的处理程序。