0

Допустим, у меня есть две выпадающие которые заполняются числами, используя минимальное значение и максимальное значение, например, 0 и 9.Как я могу запустить пользовательский Угловой фильтр из ng-change из html?

Я заселить их с помощью фильтра

export class NumberRangeFilter { 

    public static Factory() { 
     return function(input: number[], min: number, max: number) { 
      for (var i = min; i <= max; i++) { 
       input.push(i); 
      } 
      return input; 
     } 
    } 
} 

который вызывается в HTML

ng-repeat="n for n in [] | numberrange:vm.minAllowedAdults:vm.maxAllowedAdults" 

Это прекрасно работает. Однако числа в обеих комбо могут быть только когда-либо добавлены до максимального значения, например 9. Если в combo 1 выбрано 5, то комбо 2 следует обновить, чтобы показывать только опции 0 - 4.

Можно ли это сделать, вызвав фильтр, который уже существует из html с использованием изменения ng, сохраняя как можно больше логики из контроллера?

ответ

0

Вы можете вычислить max в зависимости друг от друга.

var total = 9; 
dropDown1Max = total - dropDown2Value; 
dropDown2Max = total - dropDown1Value; 

Что-то вроде этого

0

Cant вы просто использовать limitTo-фильтр, угловой [] | limitTo:numLimit. Где numLimit указывает на значение, выбранное в первом выпадающем списке.

 Смежные вопросы

  • Нет связанных вопросов^_^