セレクターについて

ExtJSMVC Application Architectureでは、controllerディレクトリ配下にコントローラの定義を格納する。
viewディレクトリ内に格納するGUI相当のコンポーネント同士の関わり(イベントハンドラの登録など)は、すべてコントローラに定義することになるわけだが、その際にコントローラ内でGUIコンポーネントをどうやって取得するかというのが肝になると思った。前回のエントリで。


で、その操作対象にしたいGUIコンポーネントの取得にはセレクターを使用する。
前回使ったのは、

  • up
  • child
の二つだけ。でもセレクター文字列を引数にとって該当するコンポーネントを取得できるメソッドは他にもたくさんあるっぽい。
で、そのセレクターだが、表記法はCSSセレクターの記述とほとんど変わらないとのこと。
jQueryで勉強したのがそのまま使えるかな?と思ったが、実際にはGUIコンポーネントインスタンス生成時に、idとかnameを指定してないにもかかわらず、取得ができてしまっている。
挙動の確認はちゃんとしないといかんな。
ちなみに今回は、取得したいGUIコンポーネント(メインのタブパネル)に「itemId」という見慣れない属性を指定し、そいつを参照する際に、「#[itemIdの値文字列]」をセレクタ文字列として指定することで取得している。
一応ExtJSのリファレンスで、Ext.ComponentQueryの記述んとこで、「itemIdに指定すれば、#付きで取得できるぜ」的なことは記述されていたんだけど、いいのかな。