我需要在Ember.js应用程序中创建一个简单的HTML输入文本字段。此特定输入框的值未绑定到任何特定模型。当输入文本框模糊或失去焦点时,我需要能够运行一些JavaScript。到目前为止,在我的模板中:

{{input valueBinding="pitcherSalary" placeholder=0}}


我尝试通过在控制器中执行以下操作来观察pitcherSalary的值,但没有任何运气:

MyApp.OptimalController = Ember.ObjectController.extend({
 pitcherSalaryObserver: function () {
    var self = this;
    console.log("changing....");
  }.observes('pitcherSalary'),
});


正确的做法是什么?

最佳答案

您说它不受某种模型支持,但是您的控制器却说它受某种模型支持。 Ember可能使您感到困惑,它想保存到应该支持控制器的模型,但找不到任何模型。 ObjectController代理到/从控制器到模型的属性,当它没有模型时,就会大喊滥用。

坏:没有模型的ObjectController

http://emberjs.jsbin.com/niyawido/3/edit

良好:带有模型的ObjectController

http://emberjs.jsbin.com/niyawido/4/edit

好:没有模型的控制器

http://emberjs.jsbin.com/niyawido/2/edit

09-17 18:27