3

私は現在、データフィルタリング用のいくつかの入力要素と、コレクションからの対応するデータを表示するテーブルを含むレポートに取り組んでいます。

私は自分のサブビューに対してAddyOsmaniのサブビューソリューションをフォローしています。ので、私は持っています

  • 次のようなレポートビュー:
    • ヘッダーサブビュー
    • サブビューを切り替える
    • テーブルサブビュー

トグルサブビューは基本的に、三角形の背景を持ち、クラスに基づいて反転するアンカー要素です。

トグルサブビューには2つのタスクがあります

  1. クリックイベントを聞いて、クラスを変更して自分自身を反転させます。
  2. 親ビュー(レポートビュー)のクラスを操作して、表示状態と非表示状態を確認します。

私の質問は、レポートビューのクラスを変更するためのロジックはどこにあるべきかということです。サブビューで?または親ビュー?
親ビューにある場合、メソッドを呼び出すにはどうすればよいですか

  • parentViewをパラメーターとして直接渡し、サブビューからthis.parentView.toggleReport()
  • 再びparentViewをパラメーターとして渡し、親ビューでイベントをトリガーします。
  • トグルビューの範囲外でdomを操作するだけです。

4

1 に答える 1

3

親ビューにトグルビューのカスタムイベントをリッスンさせ、それに応じて動作させます。

親ビューの内部:

this.toggleView.on('toggle', this.toggleReport, this);

独自のクラスを反転するトグルビュー内でも、次のものをスローします。

this.trigger('toggle'); // or this.trigger('toggle', stateOfTheToggle);

もう1つのオプションは、aを使用しModelてトグルの状態を表し、それを親ビューとトグルビューの間で共有し、そのイベントにバインドすることです。

于 2012-10-19T16:07:39.943 に答える