通过Ember.js文档,我无法弄清楚如何创建嵌套模型.假设我有以下
JSON:
App.jsonObject = { id: 1812,name: 'Brokerage Account',positions: [ { symbol: 'AAPL',quantity: '300' },{ symbol: 'GOOG',quantity: '500' } ] }
如果我创建一个这样的模型对象
App.account = Ember.Object.create(App.jsonObject);
只有顶层属性(id和name)绑定到模板,嵌套的位置数组不会被正确绑定.因此,添加,删除或更新位置不会影响显示.是否有手动或自动的方式来转换位置数组,使其具有绑定感知(类似于WPF中的ObservableCollection)?
我创建了一个jsfiddle来实验:http://jsfiddle.net/nareshbhatia/357sg/.如你所见,顶级属性的更改反映在输出中,但是对位置的任何更改都不是.我非常感谢任何关于如何做到这一点的提示.
谢谢.
纳雷什
编辑:
理想的情况是,如果Ember.js可以以某种方式将我的JSON Feed解析成嵌套的Ember.js对象.例如,如果我明确定义我的类如下,可以帮助Ember.js创建正确的对象?
App.Account = Ember.Object.extend({ id: null,name: null,positions: Ember.ArrayProxy.create() }); App.Position = Ember.Object.extend({ symbol: null,quantity: null,lastTrade: null }); App.account = App.Account.create(App.jsonObject);
我的最终目标是在分层网格中显示此结构,可以在帐户级展开/折叠.来自WPF / Silverlight的世界,这样做很容易.所有您需要做的是为XAML中的网格指定一个嵌套模板,它知道如何解释模型.你可以找到一个例子here – 这不是太难遵循.我想知道如果这样的事情可能在Ember.js.