AngularJS的常用属性:
ng-app:在任何元素上使用,代表angular应用作用域
ng-controller:指定控制器
ng-model:指定模型
ng-bind:进行属性取值,用于显示
双向数据绑定:
更新模型,视图会自动更新,更新视图,模型会自动更新
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AngularJS双向数据绑定</title>
<script type="text/javascript" src="../js/angular.min.js" ></script>
</head>
<!-- ng-app是angular编程入口,是模块作用域 -->
<body ng-app>
<div>
<!-- ng-model模型作用 -->
<input type="text" name="name" ng-model="name" />
</div>
<div>
<!-- {{}} 等价于 ng-bind 用于数据显示 -->
Hello, {{name}}
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AngularJS基于模块化</title>
<script type="text/javascript" src="../js/angular.min.js" ></script>
</head>
<body>
<!-- ng-app="myapp" 定义了一个模块 -->
<div ng-app="myapp" ng-controller="myctrl">
<div>
<!-- ng-model模型作用 -->
<input type="text" name="name" ng-model="name" />
</div>
<div>
<!-- {{}} 等价于 ng-bind 用于数据显示 -->
Hello, {{name}}
</div>
</div>
<script type="text/javascript">
// 初始化 myapp 模块
var myapp = angular.module("myapp",[]);
// 定义模块的控制器
// 依赖注入 ,$scope作用域对象,操作当前作用域视图
myapp.controller("myctrl", ["$scope", function($scope){
// 对模型进行初始化赋值
$scope.name = "我爱JAVA";
}]);
</script>
</body>
</html>
Controller控制器 model模型 view视图
Angular事件绑定
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AngularJS基于MVC复杂操作</title>
<script type="text/javascript" src="../js/angular.min.js" ></script>
</head>
<body>
<!-- ng-app="myapp" 定义了一个模块 -->
<div ng-app="myapp" ng-controller="myctrl">
<div>
<!-- ng-model模型作用 -->
<input type="text" name="name" ng-model="name" />
<!-- 提供按钮 -->
<input type="button" value="清空" ng-click="clearVal()" />
</div>
<div>
<!-- {{}} 等价于 ng-bind 用于数据显示 -->
Hello, {{name}}
</div>
</div>
<script type="text/javascript">
// 初始化 myapp 模块
var myapp = angular.module("myapp",[]);
// 定义模块的控制器
// 依赖注入 ,$scope作用域对象,操作当前作用域视图
myapp.controller("myctrl", ["$scope", function($scope){
// 对模型进行初始化赋值
$scope.name = "我爱JAVA";
// 在作用域 提供 clearVal 点击事件
$scope.clearVal = function(){
$scope.name = "" ; // 模型设置为空
}
}]);
</script>
</body>
</html>
AngularJS 集合数据遍历显示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>AngularJS集合数据遍历显示 </title>
<script type="text/javascript" src="../js/angular.min.js" ></script>
</head>
<body ng-app="myapp" ng-controller="myctrl">
<table width="100%" border="1">
<tr>
<th>序号</th>
<th>商品编号</th>
<th>商品名称</th>
<th>价格</th>
</tr>
<tr ng-repeat="product in products">
<td>{{$index+1}}</td>
<td>{{product.id}}</td>
<td>{{product.name}}</td>
<td>{{product.price}}</td>
</tr>
</table>
</body>
<script type="text/javascript">
var myapp = angular.module("myapp",[]);
myapp.controller("myctrl",["$scope",function($scope){
$scope.products = [
{
id : 1,
name : '索尼手机',
price : 3000
},
{
id : 2,
name : '三星手机',
price : 7000
}
];
}])
</script>
</html>
基于angularJS完成获取验证码,显示60秒倒计时的功能
导入应用模块和控制器
在最外层的div中加入应用模块和控制器
在发送验证码的标签上添加属性并绑定事件
发送短信的核心代码
<script type="text/javascript">
// 模块定义
var signupApp = angular.module("signupApp", []);
// 控制器定义
signupApp.controller("signupCtrl", ["$scope","$http",function($scope,$http) {
$scope.btnMsg = "发送验证码";
var active = true;
var second = 60; // 倒计时60秒
var secondInterval;
$scope.getCheckCode = function(telephone) {
if(active == false) {
return;
}
显示倒计时按钮,60秒后,允许重新发送
active = false;
secondInterval = setInterval(function() {
if(second < 0) {
// 倒计时结束,允许重新发送
$scope.btnMsg = "重发验证码";
// 强制更新视图
$scope.$digest();
active = true;
second = 60;
// 关闭定时器
clearInterval(secondInterval);
secondInterval = undefined;
} else {
// 继续计时
$scope.btnMsg = second + "秒后重发";
// 强制更新视图
$scope.$digest();
second--;
}
}, 1000);
}
}]);
</script>