ホームページ > ウェブフロントエンド > jsチュートリアル > AngularJS構文の詳しい説明_AngularJS

AngularJS構文の詳しい説明_AngularJS

WBOY
リリース: 2016-05-16 16:18:16
オリジナル
1316 人が閲覧しました

テンプレートとデータの基本的な操作プロセスは次のとおりです:

ユーザーがアプリケーションの開始ページをリクエスト
ユーザーのブラウザはサーバーへの http 接続を開始し、テンプレート
を含むindex.html ページをロードします。 Angular はページにロードされ、ページがロードされるのを待ち、テンプレート
の境界を定義するために使用される ng-app ディレクティブを探します。 Angular はテンプレートを走査して、指定されたバインディング関係を見つけます。これにより、リスナーの登録、一部の DOM 操作の実行、サーバーからの初期化データの取得という一連のアクションがトリガーされます。最後に、アプリケーションが起動し、テンプレートを DOM ビューに変換します
サーバーに接続して、ユーザーに表示する必要がある他のデータをロードします

テキストを表示

1 つは {{greeting}} などの {{}} フォームを使用し、2 番目は ng-bind="greeting"

レンダリングされていないページは最初の方法を使用します。インデックス ページには 2 番目の方法を使用することをお勧めします。

フォーム入力

コードをコピーします コードは次のとおりです:


<頭>
フォーム

<スクリプトタイプ="text/javascript">
関数 StartUpController($scope) {
$scope.funding = {startingEstimate:0};
computeNeeded = function() {
$scope.funding.needed = $scope.funding.startingEstimate * 10;
};
$scope.$watch('funding.startingEstimate',computeNeeded) //監視モデルの変更
}




開始: //変更時に関数を呼び出します
推奨事項: {{funding.needed}}



場合によっては、変化があったときにすぐに行動を起こしたくない場合もありますが、待つ必要があります。例:

コードをコピーします コードは次のとおりです:


<頭>
フォーム

<スクリプトタイプ="text/javascript">
関数 StartUpController($scope) {
$scope.funding = {startingEstimate:0};
computeNeeded = function() {
$scope.funding.needed = $scope.funding.startingEstimate * 10;
};
$scope.$watch('funding.startingEstimate',computeNeeded);//watch は式を監視し、式が変化するとコールバック関数が呼び出されます
$scope.requestFunding = function() {
window.alert("申し訳ありませんが、まず顧客を増やしてください。")
};
}



//ng-submit
開始:
推奨事項: {{funding.needed}}
&lt; button&gt;私のスタートアップに資金を提供します!&lt;/button&gt;



非表单提交型のやり取り、クリックして例を表示します

复制代 代码如下:


<頭>
    表单
   
    <スクリプトタイプ="text/javascript">
    function StartUpController($scope) {
        $scope.funding = {startingEstimate:0};
        computeNeeded = function() {
            $scope.funding.needed = $scope.funding.startingEstimate * 10;
        };
        $scope.$watch('funding.startingEstimate',computeNeeded);
        $scope.requestFunding = function() {
            window.alert("申し訳ありませんが、まず顧客を増やしてください。")
        };
        $scope.reset = function() {
            $scope.funding.startingEstimate = 0;
        };
    }
   


   

        開始:
        推奨事項: {{funding.needed}}
       
       
   



列表、表格およびその他の代型要素

ng-repeat は、$index を介して、現在参照されている要素シーケンス番号を返します。コードの例は次のとおりです。

复制代 代码如下:

<頭>
    表单
   
    <スクリプトタイプ="text/javascript">
    var students = [{name:'Mary',score:10},{name:'Jerry',score:20},{name:'Jack',score:30}]
    function StudentListController($scope) {
        $scope.students = 学生;
}

   


   


       
           
           
           
       
   



隐藏与显示

ng-show と ng-hide の機能は同等ですが、実行効果はむしろ優れています。

复制代码代码如下:


<頭>

<スクリプト>
function DeathrayMenuController($scope) {
$scope.menuState = {show:false};//ここでmenuState.show = falseに変更するとエフェクトは表示されなくなります。将来的には、変数を {}
内で宣言することをお勧めします。 $scope.toggleMenu = function() {
$scope.menuState.show = !$scope.menuState.show;
};
}






  • 気絶

  • 分解

  • 履歴から消去





CSS クラスとスタイル

ng-class と ng-style は両方とも式を受け入れることができます。式の実行結果は次のいずれかの値になります。

スペースで区切られた CSS クラス名を表す文字列
CSS クラス名配列
CSS クラス名のブール値へのマッピング
コード例は次のとおりです:

コードをコピーします コードは次のとおりです:


<頭>


<スクリプト>
function HeaderController($scope) {
$scope.isError = false;
$scope.isWarning = false;

$scope.showError = function() {
$scope.messageText = "エラー!!!!"
$scope.isError = true;
$scope.isWarning = false;
}

$scope.showWarning = function() {
$scope.messageText = "警告!!!"
$scope.isWarning = true;
$scope.isError = true;
}
}




{{messageText}}






CSS クラス名のブール値へのマッピング
サンプルコードは次のとおりです:

コードをコピー コードは次のとおりです:


<頭>


<スクリプト>
関数レストラン($scope) {
$scope.list = [{name:"ハンサム",cuisine:"BBQ"},{name:"グリーン",cuisine:"サラダ"},{name:"ハウス",cuisine:'シーフード'}];

$scope.selectRestaurant = function(row) {
$scope.selectedRow = row;
}
}



{{$index 1}}{{学生名}}{{student.score}}

//CSS クラス名をブール値にマッピング、モデル属性 selectedRow の値が ng-repeat の $index と等しい場合、選択されたスタイルがその行に設定されます
                                                                                                                                                                                                   





関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート