私のバックボーン アプリケーションには、静的プロパティを持つ親クラスと 2 つのサブクラスがあります。子クラスから親の静的プロパティを変更しようとしていますが、うまくいかないようです。サンプルコードは次のとおりです。
var ParentView = Backbone.View.extend({}, {
staticProperty: 1,
getStaticProperty: function() {
return this.staticProperty;
},
setStaticProperty: function(value) {
this.staticProperty = value;
}
});
console.log('ParentView.staticProperty: ' + ParentView.getStaticProperty());
ParentView.setStaticProperty(2);
var ChildView1 = ParentView.extend({
initialize: function() {
console.log('ChildView1.staticProperty: ' + ChildView1.getStaticProperty());
ChildView1.setStaticProperty(3); // THIS SEEMS TO DO NOTHING
}
});
var ChildView2 = ParentView.extend({
initialize: function() {
console.log('ChildView2.staticProperty: ' + ChildView2.getStaticProperty());
}
});
var testView1 = new ChildView1();
var testView2 = new ChildView2();
ここに jsfiddle があります: http://jsfiddle.net/2agTW/1/
次の出力が期待されます。
ParentView.staticProperty: 1
ChildView1.staticProperty: 2
ChildView2.staticProperty: 3
しかし、代わりに、私は得る:
ParentView.staticProperty: 1
ChildView1.staticProperty: 2
ChildView2.staticProperty: 2 // I THINK THIS SHOULD BE 3
理由はありますか?