我在Ember.TextField模板中有一个Ember.js:
{{view Ember.TextField valueBinding='name' id='myname'}}它的工作原理很好,保存起来比用标准的Ember.js保存到数据库还要好。
但是,当我以编程方式更改此文本框的值时:
document.getElementById('myname').value = 'other';并且保存,它没有被保存。当我在执行上述代码后只手动添加一个字母时,值将被正确保存。
所以我的问题是:
如何更改文本框编程的值,以便更新Ember.js数据?或者:如何在Ember.js数据中直接更改数据?或者:如何手动将数据从字段保存到底层Ember.js数据?
发布于 2013-08-01 09:16:28
这里有一个示例,说明如何以编程方式更改textfield的值:http://jsbin.com/ilewas/2/edit
现在稍微解释一下,如果您使用简单的javascript (如document.getElementById('myname').value = 'other'; )来更改值,那么ember中的所有内容都是基于Ember.Object的,所以您必须同时使用数据绑定机制,或者在一个操作调用中直接设置值,比如在使用内置setter方法的示例中。
这个由Dan编写的好的博客文章深入地解释了成员的对象模型是如何工作的。
希望能帮上忙。
https://stackoverflow.com/questions/17989365
复制相似问题