我阅读了很多关于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";
}
}
答案 0 :(得分:1)
如果使用反应变量,它应该有效。我将在此示例中使用会话变量:
Template.user.message = function() {
return Session.get('userMessage');
};
Template.user.events({
submit: function() {
Session.set('userMessage', 'valid');
}
});
请注意,events
接受一个对象(您的代码正在分配点击处理程序,而不是在事件地图中创建值)。