1

私は js-data と js-data-angular を使用しています。私は 2 つのリソースorganizationaddress、組織の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">

ただし、アドレスはまだストアに存在しないため、組織に設定されていません。それで、これを処理する方法はありますか?

ありがとう!

4

1 に答える 1

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 では、より柔軟なオプションが導入されます。

于 2016-01-18T20:00:14.947 に答える