Angular 1,5 <select>все опции установлены на выбранные = "выбранные" - PullRequest
1 голос
/ 07 апреля 2020

Этот пример прямо из Angular Документов https://docs.angularjs.org/api/ng/directive/select

  <form name="myForm">
    <label for="mySelect">Make a choice:</label>
    <select name="mySelect" id="mySelect"
      ng-options="option.name for option in data.availableOptions track by option.id"
      ng-model="data.selectedOption"></select>
  </form>
  <hr>
  <tt>option = {{data.selectedOption}}</tt><br/>
</div>

Ссылка на плункер: https://plnkr.co/edit/ikFrsLnbR5yFymKk

Если вы откроете отладчик в плунжере и измените свой выбор, все теги <option> получат selected="selected". Почему это происходит? Как это можно исправить? Picture of dev tools showing selected=

Я не нашел хорошего ответа (или какой-либо ссылки) на этот вопрос в Документах или в Интернете. Любая помощь будет сильно оценена

РЕДАКТИРОВАТЬ: правильная ссылка на плункер

1 Ответ

1 голос
/ 09 апреля 2020

Я не нашел конкретного ответа c в документации о том, как это обрабатывается. Однако я думаю, что понимаю, почему это происходит.

ng-модель - это модель для нашего выбора. Поэтому, когда мы обновляем наш выбор, ng-модель также обновляется. Наличие тега selected="selected" добавлено из-за некоторой внутренней работы Angular (по крайней мере, я думаю). В целом, это не является большой проблемой, поскольку атрибут selected используется только по умолчанию при загрузке страницы, которая будет основана на модели ng. Таким образом, в приложении

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