別のビューをレンダリングする前に、そのビューによって実行されるイベントをクリアするために、ビューの切り替えを管理するシステムを実装しています。ただし、ビューのインスタンスを使用して配列内のビューを検索する必要があります。ビュー インスタンスのビュー クラスを取得するにはどうすればよいですか?
例えば:
var myView = new MyView;
return myView.parent(); // this should return MyView
ありがとう!
別のビューをレンダリングする前に、そのビューによって実行されるイベントをクリアするために、ビューの切り替えを管理するシステムを実装しています。ただし、ビューのインスタンスを使用して配列内のビューを検索する必要があります。ビュー インスタンスのビュー クラスを取得するにはどうすればよいですか?
例えば:
var myView = new MyView;
return myView.parent(); // this should return MyView
ありがとう!
constructor
あなたが物件を探しているようですね:
インスタンスのプロトタイプを作成したObject関数への参照を返します。
したがって、これを行う場合:
var v = new View;
その後v.constructor
になりますView
。そして、これを行う場合:
var views = [
Backbone.View.extend({}),
Backbone.View.extend({}),
Backbone.View.extend({})
];
var v = new views[1];
for(var i = 0; i < views.length; ++i)
if(v.constructor === views[i])
console.log(i)
1
コンソールに移動します。デモ: http: //jsfiddle.net/ambiguous/EgURK/
これを解決する方法は、コンストラクターの一部として渡しthis
、ビュー内に「インスタンス変数」を設定することです。
次に、「親」という名前のゲッター関数を結び付けて、サンプル コードのように返します。
var myView = new MyView( this );
return myView.parent();