我为其中一个项目做了常见的模态弹出窗口。 对于该模态弹出窗口,我将数据模型(比如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模型无关,这就是为什么它不会反映出与工资相关的模型。
那么有没有办法将薪水对象转换为薪资模型。因此,如果我在节点中更改某些内容,它将反映相关的模型。
答案 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})