我正在使用js-data和js-data-angular。我有两个资源,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">
但是地址没有设置为组织,因为它在商店中还不存在。那么有什么方法可以解决这个问题吗?
谢谢!
答案 0 :(得分: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将引入更灵活的选项。