我阅读了很多关于 Blaze 允许对 Meteor 0.8 进行响应式(Reactive)渲染的资源,但我似乎无法在下面找到解决我的简单问题的方法。
我正在尝试验证我的表单输入。为了简单起见,假设我只想在提交表单时更改我的 {{message}}
。我在 client.js
中采用的方法只是为 helper 变量赋予一个新值。这是我过去使用 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";
}
}
最佳答案
如果您使用 react 变量,它应该可以工作。我将在此示例中使用 session 变量:
Template.user.message = function() {
return Session.get('userMessage');
};
Template.user.events({
submit: function() {
Session.set('userMessage', 'valid');
}
});
请注意,events
接受一个对象(您的代码正在分配点击处理程序,而不是在事件映射中创建值)。
关于javascript - 用于表单验证的 Meteor 双向数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23207244/