0

我有一个<input ng-model='list' ng-list>, 并且我想确保此文本字段中没有出现重复项 - 如果列表包含重复项,我想自动删除它们。

我将 a$scope.$watch('list', function(listValues) {放入控制器中,并尝试从中删除任何重复项listValues,但有问题。在 watch 函数中,如果我设置listValues = _.unique(listValues),$scope.list的值永远不会改变。如果我尝试$scope.list = _.unique(listValues),我会收到有关摘要循环已在运行的错误。

我如何观察范围变量的变化,当它发生变化时,执行一个操作来改变这个新值?

这是一个不工作的例子:http ://plnkr.co/edit/b0bAuP1aXPg3HryxCD9k?p=preview

我以为这很简单。我应该使用其他方法吗?

4

1 回答 1

0

在这种情况下, ng-change可能是更好的方法。特别是,这个属性ng-change

如果模型以编程方式更改而不是通过更改输入值

如果你把你的重复数据删除放在一个函数中,然后用ng-change它来调用它,我想你会得到你想要的结果。

于 2015-02-13T23:48:57.823 回答