Свойство не существует для типа инициализированного объекта - PullRequest
0 голосов
/ 18 июня 2019

Я присваиваю данные объекту интерфейса.

Я создал свои интерфейсы с дополнительными полями

export interface IWeek {
    type?: number;
    required?: string;
}


export interface IItem {
    code?: string;
    recipe?: IRecipes;
}

export interface IMenu {
    week?: IWeek;
    items?: IItem[];
    title?: string;
}

Затем я назначаю данные объекту

const data :IMenu ={} ;
data.week.type=date;
data.title=title;
recipes.map(elm => {
  data.items.push({code:code,recipe:elm})
})

Я получаю сообщение об ошибке, что в набираемом объекте нет элементов

ERROR in src/app/validation-dialog/validation-dialog.service.ts(13,10): error TS2339: Property 'week' does not exist on type '{}'.
src/app/validation-dialog/validation-dialog.service.ts(14,10): error TS2339: Property 'title' does not exist on type '{}'.
src/app/validation-dialog/validation-dialog.service.ts(16,12): error TS2339: Property 'items' does not exist on type '{}'.

1 Ответ

0 голосов
/ 18 июня 2019

Вы не определили свойство items. Сначала инициализируйте его пустым массивом.

const data: IMenu = {};
data.items = [];
...