AngularJS アプリケーション



今度は、実際の AngularJS シングル ページ Web アプリケーション (SPA) を作成します。


AngularJS アプリケーションの例

AngularJS について十分に学習したので、最初の AngularJS アプリケーションの作成を開始できます:


アプリケーションの説明

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="//cdn.bootcss.com/angular.js/1.4.6/angular-animate.min.js"></script>
</head>
<body ng-app="myNoteApp" ng-controller="myNoteCtrl">

<h2>我的笔记</h2>


<textarea ng-model="message" cols="40" rows="10"></textarea>

<p>
<button ng-click="save()">保存</button>
<button ng-click="clear()">清除</button>
</p>

<p>剩余字数: <span ng-bind="left()"></span></p>

<script src="myNoteApp.js"></script>
<script src="myNoteCtrl.js"></script>

</body>
</html>

インスタンスを実行する»

「インスタンスの実行」ボタンをクリックして、オンライン インスタンスを表示します

アプリケーション ファイル "myNoteApp.js":

var app = angular.module("myNoteApp", []);

コントローラー ファイル "myNoteCtrl. js":

app.controller("myNoteCtrl", function($scope) {
$scope.message = "";
$scope.left = function() {return 100 - $scope.message.length;};
$scope.clear = function() {$scope.message = "";};
$scope.save = function() {alert("Note Saved");};
});

<html> 要素は AngularJS アプリケーションです。 -app ="myNoteApp":

<html ng-app="myNoteApp">

<div>のコンテナです。ページ: ng- コントローラーのスコープ="myNoteCtrl":

<div ng-controller="myNoteCtrl">

ng-model私はバインド<textarea> message:

<textarea ng-model="message" cols="40"rows= 「10」 ></textarea>

2 つの ng-click イベントは、コントローラー関数 clear()save() を呼び出します:

<button ng-click="save()" > ;保存</button>
<button ng-click="clear()">Clear< /ボタン >

ng-bind この命令は、コントローラー関数 left() を <span> にバインドし、残りの文字を表示するために使用されます:

残りの文字数: <span ng-bind="left()"></span>

アプリケーションライブラリファイルは、実行する前にAngularJsにロードする必要があります:

<スクリプトsrc="myNoteApp.js"></script>
<スクリプト src= "myNoteCtrl .js" ></script>

AngularJS アプリケーション アーキテクチャ

上記の例は、完全な AngularJS シングル ページ Web アプリケーション (SPA) です。

<html> 要素には、AngularJS アプリケーション (ng-app=) が含まれています。

<div> 要素は AngularJS コントローラーのスコープを定義します。 (ng-controller=)。

1 つのアプリケーションに多数のコントローラーを含めることができます。

アプリケーション ファイル (my...App.js) は、アプリケーション モデル コードを定義します。

1 つ以上のコントローラー ファイル (my...Ctrl.js) はコントローラー コードを定義します。


まとめ - どのように機能するのですか?

ng-app ディレクティブは、アプリのルート要素の下にあります。

シングルページ Web アプリケーション (SPA) の場合、アプリケーションのルートは通常、 <html> 要素。

1 つ以上の ng-controller ディレクティブは、アプリケーションのコントローラーを定義します。各コントローラーには独自のスコープ、つまり定義された HTML 要素があります。

AngularJS は HTML DOMContentLoaded イベントで自動的に開始されます。見つかったら ng-app ディレクティブを使用すると、AngularJS はディレクティブ内のモジュールをロードし、アプリケーションのルートとして ng-app をコンパイルします。

アプリケーションのルートはページ全体であることも、ページの小さな部分である場合もあり、コンパイルと実行が高速になります。