3

多くのビューで使用されるアルファベット フィルター ビュー (a、b、c、d など) があります。クリックした文字を使用して API から結果を取得するためのメソッドをメイン ビューに設定しました。

以下のように、コールバック関数をアルファベット フィルターに渡すことで、これをセットアップしました。

view = new App.Views.Common.AlphabetFiltersIndexView(filterCallback: @paginationFilter)
@$(".pagination-vertical").replaceWith(view.render().el)

filterCallback を呼び出して引数を渡すことは機能しますが、呼び出される paginationFilter メソッドは Alphabet フィルターに属するようになりました。

質問: 親ビューのメソッドを呼び出して、メソッドと元のトップ ビューとの関係を維持するにはどうすればよいですか?

4

3 に答える 3

4

これについては、次の 2 つの方法があります。

  1. 親ビューを子ビューに渡すか、グローバル オブジェクトを使用している場合は、グローバル オブジェクトを介して子ビューに親を見つけさせます。子から親ビューの関数を呼び出す

  2. 親ビューの関数を呼び出す必要がある場合は、子ビューでイベントを発生させることができます。親ビューは、子ビューからこのイベントをリッスンし、必要なメソッドを呼び出して応答する必要があります。

于 2013-06-05T03:57:32.673 に答える
0

次の Underscore 呼び出しをAlphabetFiltersIndexViewin it'sinitializeメソッドで使用できます

_.bindAll(callBackContext, "YourCallBack");

これにより、コールバックが選択したオブジェクト (親ビュー) にバインドされます。

callBackContextと の値を"YourCallBack"パラメータとしてに渡すことができAlphabetFiltersIndexViewます。これは、親ビューのコンテキストに基づいて制御できます。

于 2013-06-05T03:58:05.293 に答える