最新のWeb開発のチュートリアル
 

AngularJSコントローラ


AngularJSコントローラはAngularJSアプリケーションのデータを制御します。

AngularJSコントローラは、通常のJavaScriptオブジェクトです。


AngularJSコントローラ

AngularJSアプリケーションは、コントローラによって制御されます。

NG-コントローラディレクティブは、アプリケーションのコントローラを定義します。

コントローラは、標準のJavaScript オブジェクトのコンストラクタによって作成されたJavaScriptオブジェクトです。

AngularJS例

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});
</script>
»それを自分で試してみてください

アプリケーションは説明しました:

AngularJSアプリケーションはNG-アプリ= "て、myApp"によって定義されます。 アプリケーションは、<div>の内部で実行されます。

NG-コントローラ= "myCtrl"属性はAngularJSディレクティブです。 これは、コントローラが定義されています。

myCtrl機能は、JavaScriptの関数です。

AngularJSは$スコープオブジェクトを使用てコントローラを起動します。

AngularJSでは、$スコープはアプリケーションオブジェクト(アプリケーション変数と関数の所有者)です。

コントローラは、スコープ( )で2プロパティ(変数)を作成します。

NG-モデルディレクティブは、コントローラのプロパティ(姓と名)に入力フィールドをバインドします。


コントローラのメソッド

lastNameのとfirstNameの:上記の例では、二つの特性を持つコントローラオブジェクトを実証しました。

また、コントローラは、メソッド(関数などの変数)を持つことができます。

AngularJS例

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{fullName()}}

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
    $scope.fullName = function() {
        return $scope.firstName + " " + $scope.lastName;
    };
});
</script>
»それを自分で試してみてください

外部ファイル内のコントローラ

大規模なアプリケーションでは、外部ファイルのコントローラを格納するのが一般的です。

ただ、名前の外部ファイルに<script>タグの間のコードをコピーpersonController.js

AngularJS例

<div ng-app="myApp" ng-controller="personCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}}

</div>

<script src="personController.js"></script>
»それを自分で試してみてください

もう一つの例

次の例のために我々は新しいコントローラファイルを作成します。

angular.module('myApp', []).controller('namesCtrl', function($scope) {
    $scope.names = [
        {name:'Jani',country:'Norway'},
        {name:'Hege',country:'Sweden'},
        {name:'Kai',country:'Denmark'}
    ];
});

ファイルを保存しますnamesController.js

そして、アプリケーション内のコントローラファイルを使用します。

AngularJS例

<div ng-app="myApp" ng-controller="namesCtrl">

<ul>
  <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

<script src="namesController.js"></script>
»それを自分で試してみてください