Функция параметра Angular ngModelChange отличается от $event

I want to send a different parameter to the $event in the function:


 <div class='col-sm'>
      <label class="col-3 col-form-label">Origen</label>
          <div class="col-4">
              <select [(ngModel)]="dana" class="form-control"  
                 (ngModelChange)="filterFor($event)"required>
                   <option *ngFor="let dano of danos" 
                       [value]="dano.comment">{{dano.make}}
                   </option>
             </select>
          </div>
     </div>

Я хотел бы отправить параметр в вызов функции filterFor:

    <div class='col-sm'>
         <label class="col-3 col-form-label">Origen</label>
             <div class="col-4">
                 <select [(ngModel)]="dana" class="form-control"  
                     (ngModelChange)="filterFor(dano.tipo)"required>
                   <option *ngFor="let dano of danos" 
                        [value]="dano.comment">{{dano.make}}
                   </option>
                 </select>
             </div>
       </div>

Не удается:

ошибка TS2551: свойство «dano» не существует для типа «ComunidadFiltracionesComponent». Вы имели в виду "данос"? .

Знаете ли вы формат параметра, чтобы он его принимал? заранее спасибо

Разверните запрос:

У меня есть объект с разными параметрами:

let car = [ {'make': 'Ford', 'comment': 'The vehicle has a heavy internal combustion engine....'}];

В раскрывающемся списке (ngFor), когда покупатель выбирает марку автомобиля, мы берем переменную comment.

Если я хочу сравнить автомобили:

if (dana == 'The vehicle has a heavy internal combustion engine....'){
this.quality = 'goog';
}

Чтобы узнать, какой бренд ввел клиент, мне приходится сравнивать через комментарий (слишком длинный). Я хочу сравнить по переменной бренда:

if (dana == 'Ford'){
this.quality = 'goog';
}

См. в stackblitz: https://angular-ivy-mu5mrh.stackblitz.io/

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Сравнение структур данных: Массивы и объекты в Javascript
Сравнение структур данных: Массивы и объекты в Javascript
Итак, вы изучили основы JavaScript и хотите перейти к изучению структур данных. Мотивация для изучения/понимания Структур данных может быть разной,...
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Создание собственной системы электронной коммерции на базе Keystone.js - настройка среды и базовые модели
Прошлая статья была первой из цикла статей о создании системы электронной коммерции с использованием Keystone.js, и она была посвящена главным образом...
Приложение для отслеживания бюджета на React js для начинающих
Приложение для отслеживания бюджета на React js для начинающих
Обучение на практике - это проверенная тема для достижения успеха в любой области. Если вы знаете контекст фразы "Практика делает человека...
Стоит ли использовать React в 2022 году?
Стоит ли использовать React в 2022 году?
В 2022 году мы все слышим о трендах фронтенда (React, Vue), но мы не знаем, почему мы должны использовать эти фреймворки, когда их использовать, а...
0
0
28
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

проблема в вашем коде заключается в том, что вы пытаетесь получить доступ к переменной dano, которая выходит за рамки цикла и, следовательно, не распознается

Да, это ясно. Спасибо. Но есть ли способ привязать эту переменную к параметру функции.

Frank 22.04.2022 19:31

чего именно ты пытаешься достичь? Вы можете добавить свой код .ts?

gil 22.04.2022 19:33
Ответ принят как подходящий

если вы используете (ngModelChange)="filterFor($event)" в своей функции filterFor вы получили [значение] выбранного параметра.

если вы используете в качестве значения [value]="dano.make"

Вы можете использовать некоторые из них

filterFor(value:any){
   this.data=value; //<--if not use [(ngModel)] else [ngModel]
                    //don't forget equal the variable to value

   const dano=this.datos.find(x=>x.make==value)
   console.log(dano) //<--here you has the whole object
   //you can, e.g.
   if (value=='Ford')....
   //or
   if (dano.comment=='The vehicle has a heavy internal..')...
}

Другие вопросы по теме