2016-11-16 4 views
-2

У меня есть следующий выберите элемент:Угловая - как проверить, обновлены ли опции выбора?

<select id="expiry" class="input col-sm-12 col-xs-12 ng-pristine ng-valid ng-touched" ng-model="selectedInstrumentExpiration" ng-options="item.expire | timezone: 'EST' | date:'MMM dd, yyyy HH:mm' for item in selectedInstrumentCode.value | filterExpired | orderBy: 'expire'" ng-change="changeInstrumentExpiration()"> 

Это время используется для хранения определенного времени истечения срока действия, как правило, между 5-минутными интервалами, и как только один из них достиг он удаляется из списка и следующий один идет сверху.

Что бы я хотел - это выполнить что-то, когда новый будет сверху. Я попытался с функцией, указанной в ng-change (changeInstrumentExpiration()), но она работает только тогда, когда пользователь меняет их вручную. Я также пробовал с watchCollection, но это тоже не сработало.

Что вы скажете, это лучший способ действий в этом случае? Я относительно новым для Угловое поэтому некоторые помощь будет принята с благодарностью :)

+0

Вставить код в интервале с изменением данных. –

+0

Удалите последнее значение из своего массива, когда новое значение добавит ваш массив. Это простой смысл –

ответ

2

Вы можете использовать функцию AngularJS часов для обнаружения каких-либо изменений

$scope.$watch('data', function (newVal, oldVal) { /*...*/ }, true); 
+0

Я пробовал, но он не работает, это то же самое, что и при использовании $ watchCollection - он работает, когда пользователь выбирает параметр, но не когда обновляемые параметры обновляются. –

+0

Ах, неважно, моя ошибка была где-то еще, $ scope. $ Watch действительно работает, спасибо! –

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

  • Нет связанных вопросов^_^