2015-02-13 2 views
0

У меня есть <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

ng-change, вероятно, лучший подход в этом случае. В частности, этот атрибут ng-change:

если модель изменяется программно, а не изменение к значению входного

Если вы поместите де-простофиля в функции, а затем использовать ng-change чтобы назвать это, я думаю, вы получите результаты, которые вам нужны.

+0

Этот метод работал лучше - спасибо! – core

Смежные вопросы