angularjs通过ng-change和watch两种方式实现对表单输入改变的监控

直接上练习代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body ng-app="myApp" ng-controller="myContro">
<div>
<h1>ng-change指令</h1>
ng-change指令,当表单输入发生改变时,会触发该事件<br />
<div>
姓名:<input type="text" id="name1" ng-model="user.name"
placeholder="请输入姓名" ng-change="inputChange()" />
</div>
<div>
年龄:<input type="number" ng-model="user.age"
placeholder="请输入年龄" ng-change="inputChange()" />
</div>
<div>{{user.message}}</div>
</div>
<div>
<h1>通过监听改变达到和ng-chang一样的效果</h1>
<div>
姓名:<input type="text" id="name2" ng-model="user2.name"
placeholder="请输入姓名" />
</div>
<div>
年龄:<input type="number" ng-model="user2.age"
placeholder="请输入年龄" />
</div>
<div>{{user2.message}}</div>
</div>
</body>
</html>
<script src="../JS/angular.js"></script>
<script type="text/javascript">
var app = angular.module("myApp", []);
app.controller("myContro", function ($scope, $interpolate) {
$scope.user = {
name: "",
age: "",
message: ""
}; $scope.user2 = {
name: "",
age: "",
message: ""
}; $scope.messageTemp = "{{name}},您好,您今年{{age}}岁啦!";
var template = $interpolate($scope.messageTemp);
$scope.inputChange = function () {
$scope.user.message = template({ name: $scope.user.name, age: $scope.user.age });
}; //// 下面通过watch监听实现ng-change一样的效果
$scope.$watch("user2.name", function (newValue, oldValue) {
$scope.getMessage(newValue, oldValue);
}); $scope.$watch("user2.age", function (newValue, oldValue) {
$scope.getMessage(newValue, oldValue);
}); $scope.getMessage = function (value1, value2) {
if (value1 != value2) {
$scope.user2.message = template({ name: $scope.user2.name, age: $scope.user2.age });
}
}
});
</script>

最新文章

  1. 面向对象的高级编程&amp;IO编程
  2. iOS的UIDevice,NSBundle,NSLocale
  3. JAVA,NET RSA密钥格式转换
  4. PHP curl超时问题
  5. 还是畅通工程(MST)
  6. Jquery实现搜索框提示功能
  7. svn团队环境
  8. Spring整合Quartz实现动态定时器
  9. Android应用程序进程启动过程的源代码分析
  10. Android SQLite Database Tutorial
  11. 数据挖掘_wget整站下载
  12. NodeJs系列一:神奇的nodejs
  13. 搭建本地Tomcat
  14. 【java设计模式】代理模式
  15. 某厂java算法题实现及改进【有n个人成一圈,顺序排号(编号为1到n),从第一个人开始报数1到3报数】
  16. expdp/impdp数据泵用法
  17. codeM美团编程大赛初赛B轮D题(考验你的数学思维!)
  18. PHP中self和this的用法区别
  19. 设计模式之桥接模式 c++11
  20. Ansible常用模块使用

热门文章

  1. Ubuntu 14.04 LTS 下使用源码编译安装 Sagemath 6.7 x64 (小结)
  2. JAVA核心问题(一)反射之引言 构造函数
  3. 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
  4. MySQL—函数大全
  5. what does GIT PUSH do exactly?
  6. 机器学习基石笔记:10 Logistic Regression
  7. 干货:教你如何监控 Java 线程池运行状态
  8. 京东架构师的showtime京东个性化推荐系统实战
  9. Linux学习笔记之六————Linux常用命令之系统管理
  10. BitMap位图与海量数据的理解与应用