0
"menu"という属性でベースビューと子ビューを拡張しました。私は次のことを試みた。子ビューのカスタムプロパティをオーバーライドします。
var baseView=Backbone.View.extend({
menu:"#base-menu",
initialize:function(){
//some code
},
render:function(){
console.log(this.menu);
}
});
var childView=baseView.extend({
initialize:function(){
baseView.prototype.initialize.apply(this);
this.menu="#child-menu";
}
});
しかしchildView.render()
が出力#child-menu
は、それが唯一の#base-menu
に設定されていません。なぜ、どのように子供を一組にするか?
注:複数の子ビューがあります。
var baseView = Backbone.View.extend({
menu: "#base-menu",
initialize: function() {
console.log(this.menu);
},
});
var firstView = baseView.extend({
initialize: function() {
baseView.prototype.initialize.apply(this, arguments);
this.menu = "#child-menu";
console.log(this.menu);
}
});
var firstViewInstance = new firstView();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>
(https://jsfiddle.net/ambiguous/hdc92byn/)うまく動作するようです。あなたはあなたの問題を再現できますか? 'c = new childViewではなく' childView.render() 'を実際にやっていますか? c.render() '?従来は、「クラス」として「BaseView」と「ChildView」、インスタンス「BTW」として「childView」を持っていました。 –