1

我在 Ember.js 模板中有一个 Ember.TextField:

{{view Ember.TextField valueBinding='name' id='myname'}}

它可以很好地保存到存储中,而不是使用标准 Ember.js 保存到数据库中。

但是当我以编程方式更改此文本框的值时:

document.getElementById('myname').value = 'other';

并且保存,它没有被保存。当我在执行上面的代码后手动添加一个字母时,值被正确保存。

所以我的问题是:

如何以编程方式更改文本框的值,以便更新 Ember.js 数据?或者:如何直接在 Ember.js 数据中更改数据?或者:如何手动将数据从字段保存到底层 Ember.js 数据?

4

1 回答 1

1

这里有一个关于如何以编程方式更改文本字段值的示例:http: //jsbin.com/ilewas/2/edit

现在稍微解释一下,如果你使用普通的 javascript 来更改值,ember 不会知道,document.getElementById('myname').value = 'other';ember 中的一切都是基于的,Ember.Object所以你必须使用 8 数据绑定机制或直接在动作调用中设置值,如使用内置 setter 方法的示例。

Dan Gebhardt 的这篇非常好的博客文章深入解释了 ember 的对象模型是如何工作的。

希望能帮助到你。

于 2013-08-01T09:16:28.390 回答