如何使用$ scope。$ watch和ng-repeat?

时间:2016-02-05 09:10:04

标签: javascript angularjs

我有工作代码:

$scope.$watch('vm.reg', function (newValue) {
  if (newValue !=  null) {
    vm.reg = newValue.replace(/\D+/, '');
  }
});
<input type="text" class="form-control" name="dest_regex" ng-model="vm.reg"/>

但我需要$watch使用ng-repeat这样的内容:

<div ng-repeat="fi in filterElments">
    <input type="text" class="form-control" name="dest_regex" ng-model="fi.reg"/>

    <!--<input type="text" class="form-control" name="dest_regex" ng-model="fi.reg"/>
    <input type="text" class="form-control" name="dest_regex" ng-model="fi.reg"/>
     .................. -->
</div>

2 个答案:

答案 0 :(得分:2)

  

ng-在ng-repeat中更改为$ watch的ng-models

     

您可以检测输入值是否有变化

$scope.replacing = function(item){
  //do somthing
}
<div ng-repeat="fi in filterElments">
    <input type="text" class="form-control" name="dest_regex" ng-model="fi.reg" ng-change="replacing(fi)"/>
</div>

答案 1 :(得分:0)

对于您的具体情况,我建议您查看ngModelController $解析器和$ formatters。

https://docs.angularjs.org/api/ng/type/ngModel.NgModelController

https://stackoverflow.com/a/22843592/274500