Ответ 1
У AngularJS 1.1.5 есть директива ng-if
, которая может работать на вас. Проверьте этот скрипт http://jsfiddle.net/cmyworld/bgsVw/
Можно ли скрыть опцию выбора окна с помощью директивы ng-hide?
<div ng-app ng-controller="Controller">
<select ng-model="myDropDown">
<option value="one">One</option>
<option value="two" ng-hide="myDropDown=='one'">Two</option>
<option value="three">Three</option>
</select>
{{myDropDown}}
</div>
У AngularJS 1.1.5 есть директива ng-if
, которая может работать на вас. Проверьте этот скрипт http://jsfiddle.net/cmyworld/bgsVw/
Я не мог заставить его работать с помощью ng-hide
, чтобы проверить значение вашего ng-model
(вероятно, какое-то состояние гонки с чтением/записью на ту же модель сразу), однако я придумал рабочий пример функциональных возможностей, которые вы выполняете:
<div ng-app ng-controller="Controller">
<select ng-model="selectedOption" ng-options="o for o in options"></select>
{{selectedOption}}
</div>
function Controller ($scope) {
var initialOptions = ['One', 'Two', 'Three'];
$scope.options = initialOptions;
$scope.selectedOption = $scope.options[2]; // pick "Three" by default
$scope.$watch('selectedOption', function( val ) {
if( val === 'One' ) {
$scope.options = ['One', 'Three'];
} else {
$scope.options = initialOptions;
}
});
}