Поместите элементы в поле со списком - что значит сказать «выбрать как выбрать в месяцах» в Angularjs? - PullRequest
0 голосов
/ 15 февраля 2020

https://angularjsaz.blogspot.com/2015/09/tutorial-28-angularjs-listbox-example.html

Это показывает:

<select style="width: 100%;" size="7" ng-model="currentItems" multiple  
         ng-multiple="true"  
         ng-options="opt as opt for opt in months">
</select>

Это работает. Я хочу понять, что делает это утверждение: выбрать как выбрать в месяцах

Я также знаю, что ng-repeat берет автомобиль в автомобилях . Почему я не могу использовать такую ​​вещь здесь?

В моем случае автомобили были:

cars = [
    {make: 'Mazda', model: 'Miata', year: 2001},
    {make: 'Toyota', model: 'Prius', year: 2013},
]

В их случае, месяцы:

months = ['January','February','March','April']

Ответы [ 2 ]

1 голос
/ 15 февраля 2020

Я также знаю, что ng-repeat занимает car in cars. Почему я не могу использовать такую ​​вещь здесь?

Да, можно использовать ng-repeat для генерации параметров:

<select name="repeatSelect" id="repeatSelect" ng-model="data.model">
  <option ng-repeat="option in data.availableOptions" value="{{option.id}}">
    {{option.name}}
  </option>
</select>

Для получения дополнительной информации см.

1 голос
/ 15 февраля 2020

Согласно документации , ng-опции для итерации источника данных массива (как в вашем случае) следуют следующей схеме:

выберите как метка для значение в массив

Где:

массив : выражение, которое вычисляет массив / объект для итерации.

value : локальная переменная, которая будет ссылаться на каждый элемент массива или каждое значение свойства объекта во время итерации.

label : Результатом этого выражения будет метка для элемента. Выражение, скорее всего, будет ссылаться на переменную значения (например, value.propertyName).

select : результат этого выражения будет привязан к модели родительского элемента. Если не указано, выражение select будет по умолчанию иметь значение.

Это в основном используется для отображения массивов объектов в качестве параметров в списке выбора, где вы хотите, чтобы объект перебирался, метка и значение, которое связано с директивой ng-model, должно быть 3 разными вещами. В вашем случае это просто строки, поэтому в основном говорится: stringSelectValue as stringLabel for stringItem in stringArray.

Вы можете упростить этот пример, сказав ng-options="month for month in months". Если значение выбора не указано, оно также будет использовать значение метки в качестве значения выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...