我正在构建一个Ember组件,它正在传递一个模型
{{ratings-summary-comp model=model}}
所以你可以在组件的js文件中的一个动作中调用这个模型,如下所示:
this.get('model')
当我在浏览器控制台中记录它时,它会输出某种类:
Class {id: "1", store: Class, container: Container, _internalModel: InternalModel, currentState: Object…}
我想将其转换为由模型属性组成的普通JS对象,因此我可以调用这样的属性:
model["attribute"]
这样我就可以将属性白名单推送到行动中的一个档案中 怎么样?
答案 0 :(得分:2)
该模型只是另一个Ember对象。您可以使用get访问其属性,如
this.get('model').get(attribute)
如果是多个属性,您可以使用getProperties:
this.get('model').getProperties('firstAttribute', 'secondAttribute', ....);
答案 1 :(得分:0)
如果您只需要一组属性名称,可以按照this post中的建议在ember github问题页面上使用Object.keys
。
运行Object.keys(this.get("model"))
将为您提供一系列属性名称。
修改 - 帖子使用的是Ember.keys
,但现在已弃用此版本,转而使用Object.keys
。