34
2
章
AngularJS
アプリケーションの構造
1
つ目と
2
つ目については、この章の中で例を多数紹介してきました。残る
3
つ目について、こ
れから解説します。ただしコントローラの本質的な意義は、ユーザーがビューとのインタラクショ
ンを通じて行おうとしていることを実現するという点にあります。
コ ン ト ロ ー ラ を 小 さ く か つ 管 理 の 容 易 な も の に す る た め に、 ビ ュ ー の 中 で 機 能 を 持 っ
た単 位 ご と に
1
つず つ コ ン ト ロー ラ を 用 意 する こ と が 推 奨さ れ て い ま す。つ ま り、 例 え ば
メ ニ ュ ー に は
MenuController
を 用 意 し、 ナ ビ ゲ ー シ ョ ン の た め の パ ン く ず リ ス ト に は
BreadcrumbController
を用意しましょう。
大体のイメージはつかめたかと思いますが、正確に言うとコントローラは管理対象の
DOM
の要
素に関連付けされています。関連付けの方法は
2
つあります。テンプレートの中で
ng-controller
属性を使ってコントローラを定義するか、動的に読み込み可能な部分テンプレート(ビュー)の中で
関連付けを行うかのいずれかです。ここではルートと呼ばれる仕組みが使われます。
ビューとルートについては、この章の中で改めて解説します。
UI
の構造が複雑な場合は、コントローラを入れ子状に定義できます。継承を通じてモデルや関
数を共有でき、コードをシンプルで保守しやすい状態に保てます。コントローラが定義されている ...