Я обновляю приложение с Angularjs 1.3.x до 1.6.x.На элементе есть ng-изменение, связанное с вызовом функции.В этом элементе также есть атрибут data-element-id, который использует угловое выражение.
<select id="carWashModel" class="form-control w200 " ng-show="currentLocation.CarWashModel.Editable == true" ng-model="currentLocation.CarWashModel.Answer" ng-change="triggerSelectElementUpdate('carWashModel', 'CarWashModel', 'cai')" data-element-id="{{currentLocation.CarWashModel.Id}}" data-element-name="CarWashModel" data-element-description="{{currentLocation.CarWashModel.Question}}">
<option ng-repeat="opt in currentLocation.CarWashModel.Options" ng-selected="opt==currentLocation.CarWashModel.Answer" value="{{opt}}" label="{{opt}}">{{opt}}</option>
</select>
Я заметил, что в 1.3.x программные изменения в ng-модели не вызывают эту функцию ng-changeно в 1.6.х теперь так и есть.Это вызывает проблему с приложением, потому что внутри этой функции изменения этот программист использует jquery для получения этого идентификатора элемента данных, который еще не заполнен угловым, кажется, что он возвращается с NaN, что вызывает проблемы в нисходящем направлении.
Какие бы у меня были варианты решения этой проблемы?Простым ответом было бы то, что я не хочу, чтобы ng-change вызывался программно изменением ng-модели, чтобы получить то же самое старое поведение, но я не уверен, возможно ли это.Возможно, есть способ узнать, вызван ли он из-за смены пользователя или программы?