从angularJS中的代码检测多个输入字段值更改

时间:2017-12-14 05:05:15

标签: javascript angularjs

我有一个输入字段

<input type="text"  ng-model="sampleValue" >

在某些情况下,我将输入值清除为

$scope.sampleValue = "";

有没有办法从代码中检测输入字段值的变化?

在这种情况下, ng-change 无效,因为值正在从代码更改。我有很多这样的输入字段,因此使用多个 $ watch 并不是一个好的解决方案。

2 个答案:

答案 0 :(得分:1)

您可以尝试$watchGroup而不是多个$watch

var fieldList = ['sample1', 'sample2', 'sample3'];

$scope.$watchGroup(filedList, function(newVal, oldVal) {
  console.log(newVal[0], newVal[1], newVal[2]);
);

答案 1 :(得分:0)

如果可能的话,使用rxJs和Observable值,就像在下面的例子中观察字符串s一样,在你的代码中它可以观察到$scope.sampleValue = "";

  let s = "Hello World";
  Observable.of(s).subscribe(val => {
    console.log(val);
  });