2014-04-21 102 views
4

我讀了很多關於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

它應該工作,如果你使用一個無功變量。我將在這個例子中使用一個會話變量:

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

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

注意events需要一個對象(你的代碼分配click處理程序,而不是在事件地圖製作的值)。

+0

我覺得必須有一些AngularJS方式,因爲處理會話變量比較麻煩。但這絕對是一個解決方案。 –