[解決済み] バックボーンビュー。親からイベントを継承・拡張する
2022-05-15 18:41:51
質問
Backboneのドキュメントに記載されています。
eventsプロパティは、イベントハッシュを返す関数として定義することもでき、プログラムによるイベントの定義や、親ビューからの継承を容易にすることができます。
親のビューイベントを継承して拡張するにはどうすればよいですか?
親ビュー
var ParentView = Backbone.View.extend({
events: {
'click': 'onclick'
}
});
子ビュー
var ChildView = ParentView.extend({
events: function(){
????
}
});
どのように解決するのですか?
一つの方法として
var ChildView = ParentView.extend({
events: function(){
return _.extend({},ParentView.prototype.events,{
'click' : 'onclickChild'
});
}
});
もう一つは
var ParentView = Backbone.View.extend({
originalEvents: {
'click': 'onclick'
},
//Override this event hash in
//a child view
additionalEvents: {
},
events : function() {
return _.extend({},this.originalEvents,this.additionalEvents);
}
});
var ChildView = ParentView.extend({
additionalEvents: {
'click' : ' onclickChild'
}
});
Eventsが関数かオブジェクトかを確認する
var ChildView = ParentView.extend({
events: function(){
var parentEvents = ParentView.prototype.events;
if(_.isFunction(parentEvents)){
parentEvents = parentEvents();
}
return _.extend({},parentEvents,{
'click' : 'onclickChild'
});
}
});
関連
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] AngularJSのコントローラからビューにHTMLを挿入する
-
[解決済み] 親メソッドから子メソッドを呼び出す
-
[解決済み] Chrome DevToolsで要素に発生したイベントを表示するにはどうすればよいですか?
-
[解決済み] Backbone.jsでサブビューの初期化およびレンダリングを処理するには?
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] WebpackでjQueryを本物のWindowオブジェクトに公開する
-
[解決済み] ドット記法の文字列を使用してオブジェクトの子プロパティにアクセスする [重複].
-
[解決済み] JavaScript 予期せぬ事態に対する可能な反復処理
-
[解決済み] jQuery ui ダイアログのロードコールバック後にタイトルを変更する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 上級者向けJavaScript。この関数はなぜ括弧でくくられるのですか?重複
-
[解決済み] DataURLからBlob?
-
[解決済み] マングース ユーザーの全リストを取得する
-
[解決済み] jQueryを使用してAJAXリクエストに失敗した場合に再試行する最善の方法は何ですか?
-
[解決済み] コンソールで変数のトレースを行う場合、どのように改行すればよいのでしょうか?
-
[解決済み] JavaScriptでクエリ文字列が存在するかどうかを確認するには?
-
[解決済み] async-await from functionを使用して非同期関数から値を返すには?重複
-
[解決済み] Javascript/jQuery。複数選択で値を設定(選択)する
-
[解決済み] 特定のクラスを持たない要素を選択する方法
-
[解決済み] データ追加時にdivの末尾まで自動スクロールさせるには?重複