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'));
});