Функция параметра 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/

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
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.info(dano) //<--here you has the whole object
   //you can, e.g.
   if (value=='Ford')....
   //or
   if (dano.comment=='The vehicle has a heavy internal..')...
}

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