AngularJS快速入门指南11:事件
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>