将JSON对象转换为Ember数据模型

时间:2014-02-03 14:37:49

标签: ember.js ember-data

我为其中一个项目做了常见的模态弹出窗口。 对于该模态弹出窗口,我将数据模型(比如Salary模型)作为参数传递。 有时我们需要将模型作为对象传递(即代替工资模型,我们传递工资对象)。基于此我正在检查参数是否是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'}}

出于某些原因, 我将ember薪水模型作为参数/工资对象(JSON)作为参数传递

两者都有相同的数据,但工资模型将是ember实例。如果我改变节点中的某些东西,它将反映在相关的模型中。但对于工资对象,如果在节点中更改某些内容,则不会反映在关联模型中。

我知道工资对象与ember-data模型无关,这就是为什么它不会反映出与工资相关的模型。

那么有没有办法将薪水对象转换为薪资模型。因此,如果我在节点中更改某些内容,它将反映相关的模型。

3 个答案:

答案 0 :(得分:3)

我们可以使用

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

答案 1 :(得分:0)

尝试将该JSON对象设置为Ember对象:

Em.Object.create({salary:{id:1,emp_name:'Raju',emp_salary:'5000'}})

答案 2 :(得分:0)

这对我来说是成功的秘诀:

this.get('store').createRecord('model', {payload})