今天完成的事情:今天学习了AngularJS 事件
明天计划的事情:继续AngularJS的后续内容的学习
遇到的问题:实际操作还是太少需要多加实操练习
收获:AngularJS 有自己的 HTML 事件指令。例如
隐藏 HTML 元素
ng-hide 指令用于设置应用部分是否可见。
ng-hide="true" 设置 HTML 元素不可见。
ng-hide="false" 设置 HTML 元素可见。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/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 元素可见。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/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>
运行结果

点击隐藏

显示

效果是一样的
绑定切换事件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller='event'>
<div ng-show='flag' style='background: #ccc;width: 20px;height: 20px;border-radius: 50%;'>球</div>
<button ng-click='toggle()'>{{text}}</button>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('event', ['$scope', function ($scope) {
$scope.flag = false;
$scope.text = '点击可见';
$scope.toggle = function () {
$scope.flag = !$scope.flag;
$scope.text = $scope.flag ? '点击消失' : '点击可见';
}
}])
</script>
</body>
</html>
运行结果

点击

数字 ++ 事件写在 JS 中:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<button ng-click="sum()">点我!</button>
<p>{{ count }}</p>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function ($scope) {
$scope.count = 0;
$scope.sum = function () {
$scope.count = this.count + 1;
}
});
</script>
</body>
</html>
运行结果

点击

用 ng-init 实现 count 自加和清零:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-init="count=0">
<button ng-click="count = count + 1">点我!</button>
<button ng-click="count = 0">清零!</button>
<p>{{ count }}</p>
</div>
</body>
</html>
运行结果

点击几下

点击清零

剩下的部分明天再继续
评论