Javascript 在没有原始模型的EmberJS中设置新关系
因此,我有一个正常创建/加载的模型:Javascript 在没有原始模型的EmberJS中设置新关系,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,因此,我有一个正常创建/加载的模型: let contact = self.get('store').createRecord('contact'); 然后我得到了地址,这是模型上的归属关系: let address = contact.get('address'); 返回的address变量是一个代理对象,promise将其解析为相关模型或null 问题是如何创建新的地址模型并将其分配给原始联系人对象,但仅使用地址代理对象?如果要创建新的地址记录(而不是模型
let contact = self.get('store').createRecord('contact');
然后我得到了地址,这是模型上的归属关系:
let address = contact.get('address');
返回的address
变量是一个代理对象,promise将其解析为相关模型或null
问题是如何创建新的地址模型并将其分配给原始联系人对象,但仅使用地址代理对象?如果要创建新的地址记录(而不是模型)并将其分配给新创建的联系人,可以执行以下操作:
const store = this.get('store');
const contact = store.createRecord(
'contact',
{
name: 'Jack',
address: store.createRecord('address')
}
);
或者,如果您已经有一个地址代理,并且仅当其结果为null
时,您才希望创建一个新的地址代理:
const store = this.get('store');
const contact = store.createRecord('contact', { name: 'Jack' });
my_address_proxy.then(address => {
contact.set('address', address || store.createRecord('address'));
});