0

これが JS/Backbone でサポートされているかどうかはわかりませんが、バックボーン モデルがある場合、それを別のバックボーン モデルのプロパティとして使用できますか?

例えば

var Address = Backbone.Model.extend({
  street: ''
});

var Person = Backbone.Model.extend({
  name: '',
  Address: ''
});

var p1 = new Person();
p1.set('name', 'crystal');
console.log(p1.get('name'));
p1.set('Address.street', '1234');
console.log(p1.get('Address.street'));

これは、バックボーンを使用してオブジェクトを構成する方法ですか? ありがとう。

4

3 に答える 3

0

addressモデルのエントリをPersonモデルの新しいインスタンスにしてみませんAddressか?

例えば

var Address = Backbone.Model.extend({
  street: ''
});

var Person = Backbone.Model.extend({
  name: '',
  address: null
});

var p = new Person;
p.set('address', new Address({street: 'crystal'}));
p.get('address').get('street');
于 2013-03-22T07:33:53.637 に答える
0

確かに、バックボーン モデル オブジェクトを含む任意の JavaScript 有効オブジェクトでモデル属性を設定できます。ただし、モデルのネストが深すぎないように注意してください。これは、アクセスするレベルごとに null チェックを行う必要がある深いプロパティ アクセス チェーンが必要ないためです。

p.get('parent').get('child').get('child').get('child').get('prop');

于 2013-03-22T08:24:23.240 に答える
0

Backbone-Relational の使用を検討してください。

1 対 1、1 対多など、モデル間の入れ子になった双方向の関係のサポートが追加されます。

于 2013-03-22T07:21:01.890 に答える