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>
  

同样极度不推荐上面的写法,应该把click事件的处理内容放到控制器中,才是真正实现MVC分离

隐藏 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>