angularjs通过ng-change和watch两种方式实现对表单输入改变的监控
直接上练习代码
<!DOCTYPE html> <html ns="http://www.w3.org/1999/xhtml"> <head> < http-equiv="Content-Type" content="text/html; charset=utf-8" /> < ></ > </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> < src="../JS/angular.js"></ > < type="text/ "> 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 }); } } }); </ >
继续阅读与本文标签相同的文章
-
为什么它有典型FaaS能力,却是非典型FaaS架构? | 开发者必读(065期)
2026-05-18栏目: 教程
-
Mybatis执行SQL的4大基础组件详解
2026-05-18栏目: 教程
-
Java描述设计模式(08):桥接模式
2026-05-18栏目: 教程
-
Java描述设计模式(09):装饰模式
2026-05-18栏目: 教程
-
Java描述设计模式(10):组合模式
2026-05-18栏目: 教程
