AngularJS——1、表達式 / 指令

1、ng-app 定義一個 AngularJS 應用程序(頁面加載完自動引用)。

      ng-controller 添加應用的控制器。

      ng-model 把元素值(比如輸入域的值)綁定到應用程序(變量name)。

      ng-bind / {{ expression}} 把應用程序數據綁定到某一處的innerHTML 。

    (script 標籤包含的( AngularJS 庫)放在 <body> 元素的底部可以提高網頁加載速度,但必須置於 AngularJS 腳本前

        因爲對 angular.module 的調用只能在庫加載完成後才能進行。) 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <!-- <script src="//apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> -->        
    </head>
    <body>
        <div ng-app="">
            <p>名字 : <input type="text" ng-model="name"></p>
            <!-- 兩種寫法 -->
            <h1>Hello {{name}}</h1>
            <p ng-bind="name"></p>
            <!-- 表達式{{ expression }}直接“輸出”數據 -->
            <p>{{ 1*9*8*7 }}</p>
        </div>
        <script src="//apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
        <script>
            var app = angular.module("xxApp", []);
            app.controller("xxCtrl", function($scope) {
                $scope.name = "Evan Lee";
            });
        </script>
    </body>
</html>

   輸出: 

     

2、ng-init 初始化應用程序變量。(一般不使用)

<div ng-app="" ng-init="name='Evan Lee'">
    <p>姓名:
        <span ng-bind="name"></span>
    </p>
</div>

   輸出: 

    

3、ng-bind / {{ expression}}

      數字、字符串、對象、數組

<div ng-app="" ng-init="a=1;b=5;c=4;
                        pro='四川';city='成都';
                        person={firstName:'Evan',lastName:'Lee'};
                        points=[6,10,11,12,13]"> 
    <p>姓:{{ person.lastName }}  名:<span ng-bind="person.firstName"></span></p>              
    <p>生日: {{ a*b }} . <span ng-bind=" a*c "></span></p>     
    <p>地址: {{ pro+ " " + city}} <span ng-bind=" pro+ ' ' + city"></span></p>   
    <p> {{ points[3] }}週年 </p>
    <p>following <span ng-bind="points[0]"></span> years</p>               
</div>                                         

  輸出:

        

4、ng-repeat 重複一個 HTML 元素。

<div ng-app="" ng-init="names=['YY','FF','LL'];
                alls=[ {name:'YY',sign:'5'},
                       {name:'FF',sign:'0'},
                       {name:'LL',sign:'4'} ]">
  <p>使用 ng-repeat 來循環數組</p>
  <ul>
     <li ng-repeat="x in names">
        {{ x }}
     </li>
  </ul>
  <p>使用 ng-repeat 循環對象數組</p>
  <ul>
     <li ng-repeat="x in alls">
        {{ x.name + ', ' + x.sign }}
     </li>
  </ul>
<div>

輸出:

    

5、ng-disabled 綁定應用程序數據("myClick")到HTML的disabled屬性。

      ng-model 綁定應用程序數據("myClick")到 checkbox 元素的內容。

<div ng-app="" ng-init="myClick=true">
    <p>
        <button ng-disabled="myClick">button</button>
        <input type="checkbox" ng-model="myClick"/>選中按鈕
    </p>
    <p> 是否選中按鈕:{{ myClick }} </p>
</div>

  

6、ng-show / ng-hide 顯示或隱藏一個HTML元素

<div ng-app="xxApp" ng-controller="xxCtrl">
    <button ng-click="isVisible()">hide / show</button>
    <!-- ng-show="info" 同 -->
    <p ng-hide="info">
        firstName: <input type=text ng-model="firstName"><br>
        lastName: <input type=text ng-model="lastName"><br><br>
        姓名: {{firstName + " " + lastName}}
    </p>
</div>
<script>
    var app = angular.module('xxApp', []);
    app.controller('xxCtrl', function($scope) {
        $scope.firstName = "Evan";
        $scope.lastName = "Lee";
        $scope.info = false;
        $scope.isVisible = function() {
            $scope.info = !$scope.info;
        }
    });
</script>

 輸出:    

7、ng-click 單擊事件

<div ng-app="xxApp" ng-controller="xxCtrl">
    {{ count }}
    <button ng-click="count = count + 1">點擊+1</button>
</div>
<script>
    var app = angular.module('xxApp', []);
    app.controller('xxCtrl', function($scope) {
        $scope.count = 1215;
    });
</script>

輸出:  

8、自定義指令

<div ng-app="xxApp" my-dir></div>
<br>
<my-dir>自定義指令!</my-dir>
<script>
    var app = angular.module("xxApp", []);
    app.directive("myDir", function() {
        return {
            template : "創建自定義指令!"
        };
    });
</script>

 輸出:   

模塊和控制器

<div ng-app="myApp" ng-controller="myCtrl">
    {{ firstName + " " + lastName }}
</div>
<!-- 包含應用模塊的定義程序 -->
<script src="xxApp.js"></script>
<!-- 包含控制器 -->
<script src="xxCtrl.js"></script>
//xxApp.js
//[] 參數用於定義模塊的依賴關係,存在依賴則在[]內寫上依賴的模塊名
var app = angular.module("xxApp", []);
//xxCtrl.js
app.controller("xxCtrl", function($scope) {
    $scope.firstName = "Evan";
    $scope.lastName= "Lee";
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章