AngularJS 事件



AngularJS 有自己的 HTML 事件指令。


ng-click 指令

ng-click 指令定義了 AngularJS 點選事件。

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="myCtrl">

<button ng-click="count = count + 1">点我!</button>

<p>{{ count }}</p>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.count = 0;
});
</script>

</body>
</html>

運行實例»

點擊"運行實例" 按鈕查看線上實例


隱藏HTML 元素

ng-hide 指令用於設定應用程式部分是否可見。

ng-hide="true" 設定 HTML 元素不可見。

ng-hide="false" 設定 HTML 元素可見。

實例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

<button ng-click="toggle()">隐藏/显示</button>

<p ng-hide="myVar">
名: <input type=text ng-model="firstName"><br>
姓: <input type=text ng-model="lastName"><br><br>
姓名: {{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>

</body>
</html>

運行實例»

點擊"運行實例" 按鈕查看線上實例

應用解析:

第一部分personController與控制器章節類似。

應用程式有一個預設屬性: $scope.myVar = false;

ng-hide 指令設定<p>元素及兩個輸入域是否可見, 根據myVar 的值(true 或false ) 來設定是否可見。

toggle() 函數用來切換 myVar 變數的值(true 和 false)。

ng-hide="true" 讓元素 不可見


顯示 HTML 元素

ng-show 指令可用來設定應用程式中的一部分是否可見

ng-show="false" 可以設定 HTML 元素不可見

ng-show="true" 可以設定 HTML 元素可見。

以下實例使用了ng-show 指令:

實例

#
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="personCtrl">

<button ng-click="toggle()">隐藏/显示</button>

<p ng-show="myVar">
名: <input type=text ng-model="person.firstName"><br>
姓: <input type=text ng-model="person.lastName"><br><br>
姓名: {{person.firstName + " " + person.lastName}}
</p>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('personCtrl', function($scope) {
    $scope.person = {
        firstName: "John",
        lastName: "Doe"
    };
    $scope.myVar = true;
    $scope.toggle = function() {
        $scope.myVar = !$scope.myVar;
    };
});
</script>

</body>
</html>

執行實例»

點擊"運行實例" 按鈕查看線上實例