我有一个<input ng-model='list' ng-list>
,我想确保此文本字段中没有重复项 - 如果列表包含重复项,我想自动删除它们。
我在控制器中放了一个$scope.$watch('list', function(listValues) {
,并尝试从listValues
删除任何重复项,但有问题。在监视功能中,如果我设置listValues = _.unique(listValues)
,则$scope.list
的值永远不会改变。如果我尝试$scope.list = _.unique(listValues)
,我会收到有关已经运行的摘要周期的错误。
如何观察要更改的范围变量,以及何时更改该新值?
以下是一个不起作用的示例:http://plnkr.co/edit/b0bAuP1aXPg3HryxCD9k?p=preview
我认为这很简单。我还应该使用其他方法吗?
答案 0 :(得分:0)
ng-change可能是更好的方法。特别是ng-change
的这个属性:
如果以编程方式更改模型而不是更改 输入值
如果您将重复数据删除放入某个功能中,然后使用ng-change
进行调用,我认为您将获得所需的结果。