我有这样的模型
var model = Model.extend({
id: attr(),
profileName: attr(),
email: attr(),
role: attr(),
...
});
现在我需要附加一些元数据/静态属性。
var model = Model.extend({
id: attr(),
profileName: attr(),
email: attr(),
role: attr(),
...
viewOrder: Ember.computed(function() {
return [get(this, 'id'), get(this, 'email'), get(this, 'role'), get(this, 'profileName'), ...];
}),
viewColNames: Ember.computed(function() {
return ['Id', 'Email', 'Role', 'Username', ...];
})
});
然后在视图中我得到了类似的东西:
<tbody>
{{#each model as |userprofile|}}
<tr>
{{#each userprofile.viewOrder as |order|}}
<td>{{order}}</td>
{{/each}}
</tr>
{{/each}}
</tbody>
哪个不好,但它有效,但我也想做那样的事情:
<thead>
<tr>
{{#each model.viewColNames as |colName|}}
<th>{{colName}}</th>
{{/each}}
</tr>
</thead>
(我知道这不起作用)
所以我的问题是如何在模板中读取模型的静态属性甚至更好,将元数据(viewOrder,viewColNames)设置为模型,然后在模板中读取它,或者是否还有其他更好的方法来处理这种情况。
由于
答案 0 :(得分:0)
所以你试图动态地在Ember数据模型中定义所有字段?
内置的每个帮助都能够迭代对象内的键。由于Ember Data模型只是Ember对象,因此它也适用于它们:
https://guides.emberjs.com/v2.6.0/templates/displaying-the-keys-in-an-object/
还有一篇博客文章,它被添加到ember中,其中包含有关此帮助程序的详细信息:
http://emberjs.com/blog/2015/08/16/ember-2-1-beta-released.html#toc_code-each-in-code-helper
因此,在您的模板中,您可以执行以下操作:
ALTER TABLE Directions ADD RevisedLat CAST(Latitude*3200/90 AS INT)
希望有所帮助