У меня странная проблема.
<select [(ngModel)]="selectedBudget.year" name="" class="form-control" id="">
<option value="2020">2020</option>
<option value="2021">2021</option>
</select>
и вот моя функция для поиска значения на основе выбранного года.
addBudget(){
alert(this.selectedBudget.year);//shows 2021
alert(this.locations.find(p=>p.year=== 2021).locationName); here it shows the location name
alert(this.locations.find(p=>p.year=== this.selectedBudget.year).locationName); //here it trigger error
/* let rc = this.locations.find(x => x.locationName === this.selectedBudget.locationName &&
x.year === this.selectedBudget.year).cost; //resource cost
alert(rc); */
console.info(this.locations);
}
Как я уже упоминал во внутренних комментариях после каждого оповещения, он вызывает ошибку Невозможно прочитать свойство locationName of undefined . Но странная вещь заключается в том, что он обрабатывает строку чуть выше этого.
Так что 2021, когда я указываю в качестве значения непосредственно, оно возвращает, но при проверке по свойству оно не работает.
Есть ли что-то не так? с тем, как я указал ngModel. Шахта - это предварительно заполненный список.