Angular JS watch 函数
Angular JS $scope函数是一些主要函数。
有Angular的JS watch 函数是什么?
AngularJS $watch函数用于 watch 范围对象。
$watch密切关注变量,当变量的值更改时,AngularJS $what会运行一个函数。
此函数有两个参数,一个是新值,另一个参数是旧值。
如何使用AngularJS watch 函数?
让我们举一个简单的示例,说明angular JS中的watch函数的函数。
因此,在我们的有AngularJS程序中,我们创建了两个文件,其中index.js负责前端,而app.js负责后端。
其中我们用表单制作一个简单的程序,该表单有一个输入字段。
当我们在输入字段中输入名称时,输出消息将向我们显示旧值和新值。
HTML代码
我们的index.html页面有一个名为ngWatchApp的Angular应用程序和一个名为ngController的控制器 watchController
。
然后,我们创建一个带有输入字段名称的表单,并在h1标签中打印该输入字段的值,并在<p>标签中打印消息。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Angular watch example</title> </head> <body ng-app="ngWatchApp"> <div ng-controller="watchController"> <form> <label>Enter you name</label> <input type="text" ng-model="name"> </form> <h1>Hello {{name}}</h1> <p>{{message}}</p> </div> <!--angular js library--> <script src="assets/js/angular.js"></script> <script src="app.js"></script> </body> </html>
JavaScript代码
在app.js中,我们创建了一个名称为ngWatchApp的应用程序和一个名称为Controller的控制器 watchController
。
接下来,我们在范围内用名称,名称和消息定义两个变量,并在watch函数中传递两个参数,一个是更改时受影响的字段的名称,另一个是也具有两个参数的函数,新价值和旧价值。
最后,我们在message变量中添加两个值,并且message变量显示在 index.html
页。
var app = angular.module('ngWatchApp', []); app.controller('watchController', function($scope) { //adding scope variable $scope.name = ""; $scope.message = ""; //add watch with name field $scope.$watch("name", function (newValue='', oldValue='') { $scope.message = `new valus is ${newValue} and old value is ${oldValue}`; }); });
每当我们观看一个函数时,该函数就会根据摘要多次调用。
每当执行代码时,AngularJS都会传入当前的$scope引用作为第一个参数。
这不仅意味着我们可以从函数体内引用适当的范围,还意味着我们可以 watch 任何需要$scope引用的函数。
这就是我们可以在应用程序中使用angular js watch()函数来 watch $scope变量更改的方式。
$watch还有其他一些函数,这些是$digest()函数在$scope对象中的所有 watch 之间进行迭代 $digest()
遍历 watch ,为每个 watch 调用value函数。
这 $scope.$apply()
函数将函数作为执行的参数,之后 $scope.$digest()
在内部被调用。