您好,欢迎来到飒榕旅游知识分享网。
搜索
您的当前位置:首页angularjs实现对表单输入改变的监控(ng-change和watch两种方式)

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

来源:飒榕旅游知识分享网

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>

总结

以上所述是小编给大家介绍的angularjs实现对表单输入改变的监控,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

Copyright © 2019- sarr.cn 版权所有 赣ICP备2024042794号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务