我有一个 javascript 对象
this.attributes = {
key: value,
// etc..
}
我想遍历它并输出 key:value
这是我的解决方案:
import Ember from 'ember';
export default Ember.Component.extend({
init() {
this._super(...arguments);
this.attributes = {
'SKU': '123',
'UPC': 'ABC',
'Title': 'Hour Glass'
}
},
ProductAttributes: Ember.computed('attributes', function() {
var attribs = this.get('attributes');
var kvp = Object.keys(attribs).map(key => {
return {
'attribute_name': key,
'attribute_value': attribs[key]
};
});
return kvp;
})});
我想出的模板:
{{#each ProductAttributes as |attribute|}}
{{attribute.attribute_name}} : {{attribute.attribute_value}}
{{/each}}
我对这个解决方案不满意,因为它看起来很麻烦:首先我将 object 转换为具有非动态键的辅助对象数组attribute_name
和attribute_value
,然后我直接在模板中引用非动态名称。
它工作正常,但有更好的方法吗?