98
4
章
AngularJS
アプリケーションの内部構造
<input type="text" focus></input>
このディレクティブが指定されているページを読み込むと、該当する要素に対して即座にフォー
カスが与えられます。
4.4.3
コントローラ
ディレクティブとサービスについて理解したら、いよいよ次はコントローラです。ここでは
5
つ
のコントローラを定義し、
1
つのファイル(
app/scripts/controllers/controllers.js
)にま
とめて記述します。それぞれのコントローラについて、これから見てゆきましょう。まず紹介する
のは、リストのためのコントローラです。システム内に保存されているレシピの一覧表示を受け持
ちます。
app.controller('ListCtrl', ['$scope', 'recipes',
function($scope, recipes) {
$scope.recipes = recipes;
}]
);
このコントローラのコンストラクタではサーバへのアクセスやレシピの取得は行われず、単に取
得済みのレシピのリストを渡されているだけです。これはとても重要なことです。なぜこのような
ことが可能なのかという点については、(先ほど紹介した
MultiRecipeLoader
と関係があるので
すが)ルーティングについての解説の中で明らかにします。
その他のコントローラも、本質的にはとてもよく似ています。一応、それぞれについて興味深い
点を紹介してゆくことにします。 ...