如果对象模型发生变化时,可以使用$scope.$watch监控变化
<html ng-app="myApp"> <head> <title>angularjs-demo</title> <script type="text/javascript" src="lib/angularjs/angular.min.js" charset="utf-8"></script> </head> <body ng-controller="ctrl"> <input type="text" ng-model="text1" ng-model-options="{ updateOn: 'blur' }" /> <div>输入框内容改变次数:{{count}}</div> </body> <script type="text/javascript"> var app = angular.module('myApp', []) .controller('ctrl', function($scope){ $scope.count = 0; $scope.$watch('text1',function(){ $scope.count++; }); }); </script> </html>
稍微改一下,输出修改前后的内容:
<html ng-app="myApp"> <head> <title>angularjs-demo</title> <script type="text/javascript" src="lib/angularjs/angular.min.js" charset="utf-8"></script> </head> <body ng-controller="ctrl"> <input type="text" ng-model="text1" ng-model-options="{ updateOn: 'blur' }" /> <div>输入框内容改变次数:{{count}}</div> <div>原内容:{{content1}}</div> <div>新内容:{{content2}}</div> </body> <script type="text/javascript"> var app = angular.module('myApp', []) .controller('ctrl', function($scope){ $scope.count = 0; $scope.$watch('text1',function(newValue,oldValue){ $scope.count++; $scope.content1 = oldValue; $scope.content2 = newValue; }); }); </script> </html>