コントローラーを定義する最もクリーンな方法は、ファイルごとに1つです。各ファイルは、グローバルスコープを汚染することなく独自のローカル変数を持つことができる、直ちに呼び出される関数式(IIFE)またはクロージャーでラップする必要があります。
my-app.js - プライマリモジュール定義ファイル - このファイルの主な目的は、アプリケーションモジュールとその依存関係を定義し、ルーティング(ルーティングが使用されている場合)を定義することです。プロバイダーを構成します。最も単純な形式では、それは次のようになります。 - 機能モジュール定義ファイル -
(function (angular) {
angular.module('myApp', ['myApp.someFeature']);
}(angular));
一部-機能/一部-feature.jsこのファイルには、機能と、この機能が必要とするすべての依存関係のためのモジュールを定義します。これは、フィーチャだけでなく、任意の論理グループにすることができます。これにより、必要に応じて機能を他のモジュールやアプリケーションに持ち込むことが非常に簡単になります。
(function (angular) {
angular.module('myApp.someFeature', []);
}(angular));
一部-機能/一部-機能-controller.js - 機能に必要なコントローラ - 機能は、複数のコントローラが含まれている場合、より説明的な名前が必要とされるであろうが、唯一の1のコントローラを必要とし、この機能とさせて頂きます。
(function (angular) {
function SomeFeatureController($scope) {
...
}
angular
.module('myApp.someFeature')
.controller('SomeFeatureController', SomeFeatureController);
}(angular));
のindex.html - ページのhtmlファイル - かなり自己説明
<html ng-app="myApp">
<head>
<title>My Angular App</title>
<!-- Note: Angular and jQuery (if used) go in head so they delay view loading -->
<script type="text/javascript" language="javascript" src="angular.js"></script>
</head>
<body ng-controller="SomeFeatureController">
Content here....
<!-- Note application files go at the end of the body so they do not delay view loading -->
<script type="text/javascript language="javascript src="my-app.js">
<script type="text/javascript language="javascript src="some-feature/some-feature.js">
<script type="text/javascript language="javascript src="some-feature/some-feature-controller.js">
</body>
</html>
など、感謝のモジュール、ディレクティブ、サービスのためのスタイルガイドを持っています。 –
角度にはより良い文書が必要です。それは素晴らしいフレームワークですが、急な学習曲線があります –
ng-controllerではなくng-appでモジュールを使用する方法を編集していただきありがとうございます – Alex