Идея состоит в том, чтобы использовать ng-if
на нескольких md-select
элементах и решать, какой из них включить, основываясь на подходящем для вас условии.
Другой вариант - иметь переменную $scope
, которая связанадля одного ng-repeat
выбора, но вы продолжаете присваивать новые значения этой коллекции переменных $ scope, когда захотите.Это вызвало бы перерисовку области, и ng-repeat
теперь будет использовать новые значения коллекции.
Второй, вероятно, чище.
РЕДАКТИРОВАТЬ:
На основе лучшего объясненияВ приведенных ниже комментариях я теперь понимаю, что вам нужен набор выборок, каждый из которых имеет свой собственный набор параметров.
Для достижения чего-то подобного я бы предложил иметь массив массивов, в котором каждый объект будет представлятьa select, а затем его содержимое будет опциями для этого выбора.
$scope.selectArray = [
{ name: 'colours', filters: [{ value: 'black' }, { value: 'red' }, { value: 'blue' }] },
{ name: 'months', filters: [{ value: 'January' }, { value: 'February' }, { value: 'March' }] }
];
Теперь вы можете иметь ng-repeat
, перебирающий selectArray
(select в selectArrays) для создания выборок, а затемкаждый из них будет содержать еще один ng-repeat
для итерации по select.filters
(фильтр в select.filters)
Я не собираюсь писать точный код, потому что вы выглядите так, будто знаете, что делаете, и яЯ уверен, что вы можете легко собрать его вместе.
Если вы хотите изменить набор данных определенного выбора, вы можете сделать что-то вроде:
$scope.selectArray[1].filters[0].value = 'December';
или
$scope.selectArray[1].filters = [{ value: 'June' }, { value: 'July' }, { value: 'August' }];