2015-07-29 2 views
0

Я строю компонент Ember, и это передается модельEmber - как преобразовать this.get («модель») для объекта JS

{{ratings-summary-comp model=model}} 

Таким образом, вы можете назвать эту модель в действие на файл компонента JS, как это:

this.get('model') 

Когда я вхожу это в консоли браузера, он выводит какой-то класс:

Class {id: "1", store: Class, container: Container, _internalModel: InternalModel, currentState: Object…} 

Я хочу, чтобы преобразовать его в обычный JS-объект, состоящий из атрибутов модели, так что я могу назвать такие атрибуты, как это:

model["attribute"] 

Это так я могу нажать белый список атрибутов к arrary в действии ,
Как?

+0

Нет, просто нет .... –

+0

Почему, черт возьми? Я работаю со списком атрибутов и подталкиваю их к массиву. Это нужно сделать man @Kitler –

+0

Почему бы не использовать 'this.get ('model'). Get (attribute)'? –

ответ

2

Модель - это еще один объект Ember. Вы получаете доступ к его свойствам с get, как в

this.get('model').get(attribute) 

И в случае нескольких атрибутов, которые вы можете использовать getProperties:

this.get('model').getProperties('firstAttribute', 'secondAttribute', ....); 
+0

@MarcoPrins вам нужен массив имен атрибутов или значений атрибутов? Это даст вам значения, если вы хотите имена атрибутов, то см. Мой ответ ниже. –

+0

Вы также можете приобрести реквизит с Ember (модель, НЕДВИЖИМОСТЬ); – abFx

0

Если вам просто нужен массив имен атрибутов, вы можете использовать Object.keys в качестве предложенный в this post на страницах ember github.

Запуск Object.keys(this.get("model")) даст вам массив имен атрибутов.

Вот JSBin example

Редактировать - Пост использует Ember.keys, но теперь осуждается в пользу Object.keys.

Смежные вопросы