Emberjs如何在不创建模型的情况下访问类/构造函数属性

时间:2016-11-23 18:51:57

标签: javascript class ember.js attributes

有没有办法在不从商店创建记录并查看其构造函数的情况下访问模型类?

我有:

const feedback = this.store
                     .createRecord('feedback')
                     .get('constructor');
const attrs    = Ember.get(feedback, 'attributes')
                      ._keys
                      .list;
// attr = ["attr_1", "attr_2", ...]

是否有正确的方法可以在不创建记录的情况下找到相同的结果?

2 个答案:

答案 0 :(得分:0)

最后,最好的方法是将文件导入我的controller / component.js

import Feedback form 'myApp/models/feedback'

...

const attrs = Ember.get(Feedback, 'attributes')
                   ._keys
                   .list;

// attr = ["attr_1", "attr_2", ...]
// Do not forget to use Ember.get and not to .get() on Feedback

答案 1 :(得分:0)

我认为唯一正确的方法是使用modelFor function on the store

您是否也意识到._keys.list;是完全私有的API?这只适用于这个特定的Map polypill。有一个简单的公共API。将.keys()与点差运算符结合使用:

const attrs = [...store.modelFor('feedback').get('attributes').keys()]`