-1
@model = new Client()

new_object = new Object()
new_object.site_id = ""
new_object.UserName = ""
etc..

@model.set(
  Header1: new_object,
  Header2: somethingelse
)

@model.save()

深くネストされたモデル/オブジェクトにアクセスするにはどうすればよいですか? 以下を試してもうまくいきません。

this.get('obj1').get('childObject').propertyName

アップデート:

この記事を以前に見ました [backbone.js は、ネストされたオブジェクトの属性を取得および設定しますが、彼が childObject にどのようにアクセスしているかについては明確ではありませんでした。

{ Obj1 :{
   Obj2: {
    //List of properties
   }
  }
}

これを Model クラスに設定した場合、Obj2 のプロパティを取得するにはどうすればよいでしょうか。

4

1 に答える 1

1

上記の説明とまったく同じように機能するはずです。プロパティと属性を混在させているようです。

子モデルに両方の方法を使用する例を次に示します。

var m1 = new Backbone.Model;
var c1 = new Backbone.Model, c2 = new Backbone.Model, c3 = new Backbone.Model;
c3.level = "final";
c1.set({'stuff' : 'this', 'child' : c3});
c1.prop = "go";
c2.set({'stuff' : 'that', 'child' : c3});
c2.prop = "stop";
m1.set({'child1' : c1});
m1.set({'child2': c2});
console.log(m1.get('child1').get('stuff'));
console.log(m1.get('child1').prop);
console.log(m1.get('child1').get('child').level);
console.log(m1.get('child2').get('stuff'));
console.log(m1.get('child2').prop);
console.log(m1.get('child2').get('child').level);

これにより、コンソール出力が生成されます。

this
go
final
that
stop
final
于 2013-02-04T19:12:33.827 に答える