AngularJS快速入门指南11:事件

时间:2020-11-30 20:02:38

  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>

运行