2016-11-23 48 views
0

有沒有一種方法可以在不從store創建記錄的情況下訪問模型類並查看其構造函數?Emberjs如何在不創建模型的情況下訪問類/構造函數

我:

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

有沒有發現,而無需創建一個記錄相同結果的正確方法?

回答

0

最後的好辦法做到這一點的是把文件導入到我的控制器/ 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 
0

我覺得這樣做的唯一正確途徑是與modelFor function on the store

你也知道._keys.list;是完全私有的API嗎?這隻適用於此特定Map polypill。有一個簡單的公共API。與差價運營商結合使用.keys()

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

是的,更好的方法。謝謝。 但它不起作用。它需要使用''Ember.get()', 直接對'modelFor()'的結果使用'.get()'不起作用(它實際上返回一個函數) –

+0

using .keys()in與傳播運營商在結果上的組合也不起作用。 –

相關問題