Angular - как правильно подписаться на ng-model

199
21 ноября 2021, 04:40
export interface Album
{
    AlbumId : number;
    Title : string;
    ArtistId : number;
    Artist : Artist;
}
export interface Artist
{
    ArtistId : number;
    Name : string;
}
  <select class="custom-select custom-select-sm" [(ngModel)]="Album.Artist">
    <option selected>Выберите исполнителя</option>
    <option *ngFor="let album of albums"  [ngValue]="album.artist">{{ album.artist.name }}</option>
  </select>
  <p></p>
  <select class="custom-select custom-select-sm" [(ngModel)]="Album">
    <option selected>Выберите альбом</option>
    <option  *ngFor="let album of albums" [ngValue]="album"> {{ album.title }}</option>
  </select>

Почему я не могу так сделать? У меня два селекта. Первый солект должен создать вложенный объект у объекта Album. Второй селект должен дополнить объект Album. На выходе в ngModel я должен получить объект Album с вложенным объектом Artist и отправить на сервер.

Я получаю ошибку в данном коде: TypeError: Cannot read property 'Artist' of undefined

Answer 1

Проблема была в том, что я не инициализировал свой объект. Это делается следующим образом: Album = {make: null};

READ ALSO
Вопрос по методу Instantiate() в Unity

Вопрос по методу Instantiate() в Unity

Необходимо сделать так, что бы при смерти моего главного героя на этом месте появлялся объект - его душаПочему то в данный момент получается...

129
Загрузка System.Runtime.InteropServices.RuntimeInformation

Загрузка System.Runtime.InteropServices.RuntimeInformation

После ошибки "Пакет Shared Web Component не был правильно загружен" удалил Visual Studio Community 17 и установил Visual Studio Community 19

117
Парсер на c#. IndexOf выдает -1 [дубликат]

Парсер на c#. IndexOf выдает -1 [дубликат]

Пытаюсь получить значение после определенного текста в html коде страницыpage

165
cannot convert from &#39;System.Security.Claims.ClaimsPrincipal&#39; to &#39;Microsoft.AspNetCore.Identity.IdentityUser&#39;

cannot convert from 'System.Security.Claims.ClaimsPrincipal' to 'Microsoft.AspNetCore.Identity.IdentityUser'

когда user передаю в метод OrderTicket выдает такую ошибку

259