У меня проблема при изменении углового ng-изменения при программном изменении модели.ngChange вызывается, когда модель изменена программно
$scope.sendMessage = function() {
$scope.message = "Message sent";
}
$scope.confirmed = true;
$scope.mySelectBox = $scope.selects[1];
<select ng-model="mySelectBox"
ng-options="item.name for item in selects track by item.name"
ng-change="sendMessage()">
</select>
Вот пример кода: http://plnkr.co/edit/R4MO86ihMrauHXhpCMxi?p=preview
Сообщение должно быть пустым, потому что sendMessage
не следует. Модель изменяется программно.
Хм, это может быть что-то странное в том, что 'ng-select' является intializing. «Ng-change» работает так, как ожидалось, и не запускается, когда значение раскрывающегося списка изменяется программно после иналинизации. Я сделал [скрипку] (http://jsfiddle.net/twn347d3/) на основе вашей демонстрации. – ryanyuyu
Да, очень странно. Вероятно, может быть сообщено как проблема? –
Здравствуйте, я сталкиваюсь с такой же проблемой в другом контексте при программном изменении модели со значениями, собранными по HTTP-запросу (см. Ссылку ниже). Вы нашли решение или объявили ошибку команде Angular JS в GitHub? ТИА. [См. Здесь] (http://stackoverflow.com/questions/31464323/setting-scope-mymodel-element-with-ng-change-enters-in-infinite-loop). –