angularjs通过ng-change和watch两种方式实现对表单输入改变的监控
2024-09-29 23:06:17
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>
最新文章
- 面向对象的高级编程&;IO编程
- iOS的UIDevice,NSBundle,NSLocale
- JAVA,NET RSA密钥格式转换
- PHP curl超时问题
- 还是畅通工程(MST)
- Jquery实现搜索框提示功能
- svn团队环境
- Spring整合Quartz实现动态定时器
- Android应用程序进程启动过程的源代码分析
- Android SQLite Database Tutorial
- 数据挖掘_wget整站下载
- NodeJs系列一:神奇的nodejs
- 搭建本地Tomcat
- 【java设计模式】代理模式
- 某厂java算法题实现及改进【有n个人成一圈,顺序排号(编号为1到n),从第一个人开始报数1到3报数】
- expdp/impdp数据泵用法
- codeM美团编程大赛初赛B轮D题(考验你的数学思维!)
- PHP中self和this的用法区别
- 设计模式之桥接模式 c++11
- Ansible常用模块使用
热门文章
- Ubuntu 14.04 LTS 下使用源码编译安装 Sagemath 6.7 x64 (小结)
- JAVA核心问题(一)反射之引言 构造函数
- 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
- MySQL—函数大全
- what does GIT PUSH do exactly?
- 机器学习基石笔记:10 Logistic Regression
- 干货:教你如何监控 Java 线程池运行状态
- 京东架构师的showtime京东个性化推荐系统实战
- Linux学习笔记之六————Linux常用命令之系统管理
- BitMap位图与海量数据的理解与应用