Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angularJS中动态添加要监视的值_Javascript_Angularjs_Watch - Fatal编程技术网

Javascript 在angularJS中动态添加要监视的值

Javascript 在angularJS中动态添加要监视的值,javascript,angularjs,watch,Javascript,Angularjs,Watch,假设我有一个表单,其中有一个下拉列表,其中包含选项foo、bar和3个输入字段:input1、input2和input3。所有formfields都绑定到$scope对象。 我想做一个设置,如果用户在下拉列表中选择: foo,则$watch侦听input1和input2中的更改,但不侦听input3 条,然后$watch侦听input3中的更改,但不侦听input1和input2 在更改检测时,根据下拉列表中选择的选项,应调用控制器中的函数:函数foo()或函数栏()。 更复杂的是,被调用

假设我有一个表单,其中有一个下拉列表,其中包含选项foo、bar和3个输入字段:input1、input2和input3。所有formfields都绑定到$scope对象。

我想做一个设置,如果用户在下拉列表中选择:

  • foo,则$watch侦听input1和input2中的更改,但不侦听input3
  • ,然后$watch侦听input3中的更改,但不侦听input1和input2
在更改检测时,根据下拉列表中选择的选项,应调用控制器中的函数:函数foo()或函数栏()。


更复杂的是,被调用的函数应该检查相应的输入字段是否有效。如果是,则对输入字段值执行一些业务逻辑,并将结果存储在$scope上。

通常要求您显示您尝试过的内容,并描述您的应用程序的位置。要开始:可以调用$scope.$watch()进行初始设置。调用
$watch()
时,返回值是一个取消注册函数,用于删除监视程序。在select上使用ng change(或绑定到select的模型的
$watch()
),当值更改时,删除旧的watcher并添加新的watcher。Sunil,我会的,但我在开始时就被简单地设置了要查看的输入,因此没有显示任何内容。