Установка нового отношения в EmberJS без оригинальной модели - PullRequest
0 голосов
/ 17 мая 2018

Итак, у меня есть модель, созданная / загруженная нормально:

        let contact = self.get('store').createRecord('contact');

Затем я получаю адрес, который является отношением BelongsTo для модели:

        let address = contact.get('address');

возвращаемое address переменная - это объект Proxy, который обещание разрешает либо как связанную модель, либо как ноль.

Вопрос в том, как создать новую модель адреса и назначить ее исходному объекту контакта, но только с адресом.прокси-объект?

1 Ответ

0 голосов
/ 30 мая 2018

Если вы хотите создать новую адресную запись (а не модель) и присвоить ее вновь созданному контакту, вы можете сделать следующее:

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