AngularJS擁有自己的HTML事件指令。
ng-click指令
ng-click指令定義了AngularJS的click事件。
<div ng-app="" ng-controller="myCtrl"> <button ng-click="count = count + 1">Click me!</button> <p>{{ count }}</p> </div>
隱藏HTML元素
ng-hide指令可以用來顯示(或隱藏)application中的部分內容。
ng-hide="true"將使HTML元素invisible(即隱藏)。
ng-hide="false"將使HTML元素visible(即可見)。
<div ng-app="myApp" ng-controller="personCtrl"> <button ng-click="toggle()">Toggle</button> <p ng-hide="myVar"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{firstName + " " + lastName}} </p> </div> <script> var app = angular.module('myApp', []); app.controller('personCtrl', function($scope) { $scope.firstName = "John", $scope.lastName = "Doe" $scope.myVar = false; $scope.toggle = function() { $scope.myVar = !$scope.myVar; }; }); </script>
代碼解釋:
personCtrl定義了一個控制器,這和控制器一章中的內容相同。
application有一個默認屬性(變量):$scope.myVar = false;
元素<p>擁有兩個input標簽,ng-hide指令通過myVal變量的值(true或false)設置visibility。
函數toggle()用來轉換myVar變量的值,將其修改為true或false。
當ng-hide="true"時HTML元素會被隱藏(即invisible)。
顯示HTML元素
ng-show指令也可以用來顯示(或隱藏)application中的部分內容(與ng-hide指令正好相反)。
ng-show="false"將使HTML元素invisible(即隱藏)。
ng-show="true"將使HTML元素visible(即可見)。
上一小節中的示例也可以用ng-show來代替實現相同的功能:
<div ng-app="myApp" ng-controller="personCtrl"> <button ng-click="toggle()">Toggle</button> <p ng-show="myVar"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{firstName + " " + lastName}} </p> </div> <script> var app = angular.module('myApp', []); app.controller('personCtrl', function($scope) { $scope.firstName = "John", $scope.lastName = "Doe" $scope.myVar = true; $scope.toggle = function() { $scope.myVar = !$scope.myVar; } }); </script>