Meteor双向数据绑定用于表单验证

时间:2014-04-21 22:40:32

标签: javascript data-binding meteor

我阅读了很多关于Blaze的资源,允许对Meteor 0.8进行反应性渲染,但我似乎无法在下面找到解决我的简单问题的方法。

我正在尝试验证表单输入。为简单起见,我们只想在提交表单时更改{{message}}。我在client.js中采用的方法只是给辅助变量一个新值。这就是我以前使用AngularJS的方式,但似乎不仅仅是改变Meteor中的变量。我该怎么做?

- index.html
<template name="user">
    <form>
        <input type="text" id="name">
        <p>{{message}}</p>
        <button class="submit" onclick="return false;">Submit</button>
    </form>
</template>

- client.js
Template.user.message = "";
Template.user.events = {
    'click .submit' = function(){
        Template.user.message = "valid";
    }
}

1 个答案:

答案 0 :(得分:1)

如果使用反应变量,它应该有效。我将在此示例中使用会话变量:

Template.user.message = function() {
  return Session.get('userMessage');
};

Template.user.events({
  submit: function() {
    Session.set('userMessage', 'valid');
  }
});

请注意,events接受一个对象(您的代码正在分配点击处理程序,而不是在事件地图中创建值)。