Mam na swojej stronie .html listę rozwijaną,
Upuścić:
<select ng-model="blisterPackTemplateSelected" data-ng-options="blisterPackTemplate as blisterPackTemplate.name for blisterPackTemplate in blisterPackTemplates">
<option value="">Select Account</option>
</select>
Chcę wykonać akcję, gdy użytkownik wybierze wartość. Więc w moim kontrolerze zrobiłem:
Kontroler:
$scope.$watch('blisterPackTemplateSelected', function() {
alert('changed');
console.log($scope.blisterPackTemplateSelected);
});
Ale zmiana wartości na liście rozwijanej nie wyzwala kodu: $scope.$watch('blisterPackTemplateSelected', function()
W rezultacie wypróbowałem inną metodę z: ng_change = 'changedValue()'
na tagu select
i
Funkcjonować:
$scope.changedValue = function() {
console.log($scope.blisterPackTemplateSelected);
}
Ale blisterPackTemplateSelected
jest przechowywany w zakresie podrzędnym. Czytałem, że rodzic nie może uzyskać dostępu do zakresu podrzędnego.
Jaki jest prawidłowy / najlepszy sposób wykonania czegoś w przypadku zmiany wybranej wartości na liście rozwijanej? Jeśli jest to metoda 1, co robię źle z kodem?