2014-02-03 3 views
5

Я сделал общее модное всплывающее окно для одного из проектов. Для этого модального всплывающего окна я передаю модель данных (например, модель зарплаты) в качестве параметра. Иногда нам нужно передать модель как объект (т. Е. Вместо модели зарплаты мы передаем объект зарплаты). На основании этого я проверяю, является ли параметр экземпляром ember или объекта.Преобразование объекта JSON в данные Ember. Модель

Мой вопрос: можем ли мы преобразовать объект (например, объект зарплаты) в модель данных ember (например, модель зарплаты)?

Для, например: - У меня есть модель, как показано ниже

App.Salary=DS.Model.extend({ 
emp_name:DS.attr('string'), 
emp_salary:DS.attr('string') 
}); 

Json object 
{salary:{id:1,emp_name:'Raju',emp_salary:'5000'}} 

По некоторым причинам, я прохожу уголек модель заработной платы в качестве объекта параметр/заработной платы (JSON) в качестве параметра

Оба являются имея одни и те же данные, но модель зарплаты будет экземпляром ember. Если я что-то изменил в узле, он будет отражен в связанных моделях. Но для объекта зарплаты, если что-то изменится в узле, оно не будет отражено в связанных моделях.

Я знаю, что объект зарплаты не связан с моделью данных ember-данных, поэтому он не будет отражать модели, связанные с зарплатой.

Итак, есть способ конвертировать этот объект зарплаты в модель зарплаты. Поэтому, если я что-то изменил в узле, он будет отображать связанные модели.

+0

Вы не могли бы создание более конкретный пример, это трудно дать хороший ответ, не более Детали. В его нынешнем виде вы можете обойти pojo в хранилище и создать модель данных ember. (для справки в будущем, emberjs.jsbin.com - отличное место для создания примера) – Kingpin2k

+0

@ kingpin2k, я отредактировал мой вопрос – maheshiv

ответ

2

Мы можем использовать

this.store.push(this.store.normalize('salary', {id:1,emp_name:'Raju',emp_salary:'5000'})); 
+0

Добавить ссылку, http://emberjs.com/api/data/classes/DS.Store.html #method_normalize –

0

Попробуйте установить, что JSON объект как объект Ember вместо:

Em.Object.create({salary:{id:1,emp_name:'Raju',emp_salary:'5000'}}) 
Смежные вопросы