Использование объектов jsdata без сохранения их

Я использую js-data и js-data-angular. У меня есть 2 ресурса, organization а также address, организация hasOne адрес.

Я пытаюсь создать организацию (не сохраняя ее), чтобы иметь возможность связать ее с компонентами HTML. И установить некоторые реквизиты по умолчанию. Итак, я делаю:

var address = AddressResource.createInstance();
address.set('country', defaultCountry);    // CountryResource.get('US');
var organization = OrganizationResource.createInstance({ address: address });

Тогда я делаю в виде что-то вроде

<input ng-model="organization.address.country.name">

Но адрес не устанавливается в организации, так как он еще не существует в магазине. Так есть ли способ справиться с этим?

Спасибо!

1 ответ

Решение

Вы можете отключить средства доступа к свойствам отношений, которые ищут в хранилище соответствующие данные. Отключение средств доступа к свойствам означает, что ссылки не будут обновляться по мере изменения данных или удаления или добавления в хранилище.

var Organization = store.defineResource({
  name: 'organization',
  relations: {
    hasOne: {
      address: {
        // disable property accessor for this relation
        link: false,
        localField: 'address',
        localKey: 'address_id'
      }
    }
  }
})

настройка linkRelations: false В магазине будут отключены свойства доступа для всех отношений.

js-data 3.x представит более гибкие опции.

Другие вопросы по тегам