[英]Ember.js: How to observe when a value in an input field changes
我需要在Ember.js應用程序中創建一個簡單的HTML輸入文本字段。 此特定輸入框的值未綁定到任何特定模型。 當輸入文本框模糊或失去焦點時,我需要能夠運行一些JavaScript。 到目前為止,在我的模板中:
{{input valueBinding="pitcherSalary" placeholder=0}}
我試圖通過在控制器中執行以下pitcherSalary
來觀察pitcherSalary
的值,但沒有任何運氣:
MyApp.OptimalController = Ember.ObjectController.extend({
pitcherSalaryObserver: function () {
var self = this;
console.log("changing....");
}.observes('pitcherSalary'),
});
正確的做法是什么?
您說它不受某種模型支持,但您的控制器卻說它受某種模型支持。 Ember可能使您感到困惑,它想保存到應該支持控制器的模型,但找不到任何模型。 ObjectController代理到/從控制器到模型的屬性,並且當它沒有模型時,會大喊濫用。
http://emberjs.jsbin.com/niyawido/3/edit
http://emberjs.jsbin.com/niyawido/4/edit
為什么不在輸入標簽中使用普通的舊“值”? 這是一個肥胖的例子,它使用原型擴展使用您想要的可觀察樣式: http : //emberjs.jsbin.com/zuxuli/2/edit
我的輸入:
{{input type=number value=amount placeholder="Billed Amount"}}
{{input type="checkbox" checked=roundTip}} //"checked" is a kind of value attrib
我的觀察值:
observeStuff: function () {
console.log("blah!!!");
}.observes('roundTip'),
observeStuff2: function () {
console.log("crap!!!");
}.observes('amount'),
希望這可以幫助。
編輯:請參閱Ember.Observable和#addObserver以獲取更好的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.