我和Ember真的很挣扎。
在我的模型中,我有一个属性:
options: DS.hasMany('UserOptions', {async: false})
在链接到此模型的视图中,我可以通过例如:
轻松访问此属性{{#each options AS |option|}}
something....
{{/each}}
这就像魅力一样。
但是当我尝试在控制器中访问此模型值时:
this.get('model.options')
我没有获得一系列可爱的支付选项,而是获得了一个ember模型对象数组,而且我无法访问实际数据。
你们有什么想法如何在控制器中访问这些数据并进行处理?
谢谢!
答案 0 :(得分:2)
this.get('model.options')
将为您提供RSVP.Promise
,因此您需要使用异步代码。使用:
this.get('model.options').then(options => {
options.forEach(option => {
// do what you need with option
})
});
答案 1 :(得分:0)
下面的代码解决了我的情况:
@get('model.options').toArray().forEach((item) ->
console.log(item.get('parameter_name')]
)
console.log(@get('model'))
确实在控制台中抛出了一些奇怪的东西,但是当我要求一个特定的参数时,它就在那里!
我的问题是我试图打印出整个对象而不是特定值。这些值是存在的,它只是没有打印出整个对象。