Rol*_*and 5 javascript ember.js
如果我有一组嵌套的普通旧javascript对象(例如,从JSON返回),我如何将它们导入Ember.js对象(或至少使绑定功能正常工作)?
例如,如果我有一个像这样的对象:
var x = {
bar: {
baz: "quux"
}
}
Run Code Online (Sandbox Code Playgroud)
然后我把它变成一个Ember对象:
var y = Ember.Object.create(x);
Run Code Online (Sandbox Code Playgroud)
然后设置"baz"的值将不会更新我拥有的任何视图,因为它只是一个普通的js对象,而不是Ember对象.
我知道我可以递归地遍历对象键,并一直向下执行Ember.Object.create,但是有另一种方法吗?
我不确定baz在创建 后您如何尝试设置 ,的值Ember.Object,但您应该确保使用观察者感知的设置器函数。对于这个例子,我建议使用setPath().
例如:
var x = {
bar: {
baz: "quux"
}
};
var y = Ember.Object.create(x);
y.setPath('bar.baz', 'foo');
Run Code Online (Sandbox Code Playgroud)
jsFiddle 示例,显示设置后的视图更新:http://jsfiddle.net/ebryn/kv3cU/
| 归档时间: |
|
| 查看次数: |
2901 次 |
| 最近记录: |