Угловой интерфейс добавление подпунктов как

#angular #angular12

Вопрос:

Я хочу классифицировать элементы интерфейса на своей панели мониторинга, поэтому я пытаюсь сделать что-то вроде этого:

 export interface MyInterface {
    title?: string;
    dashboard: any[
        { 
        id: number; 
        label: string; 
        key: any
        // etc…
    };
    ] 
}
 

Как я могу это сделать?

Ответ №1:

Вот что я бы предложил. Его можно изменить в том смысле, что он указывает «массив типа».

 export interface Dashboard{
  id: number;
  label: string;  
  key: any;
}
export interface MyInterface {
  title?: string;
  dashboard: Dashboard[];
}
 

Комментарии:

1. И как мне его использовать? например: dashboard.id: 1 ?

Ответ №2:

 dashboard: { 
    id: number; 
    label: string; 
    key: any
    // etc…
}[];
 

вы ставите тип того, что находится в массиве, перед обозначением массива, обозначая, что это массив этого типа, а не массив any , что any[] означает.

Комментарии:

1. Я получаю это, когда пытаюсь использовать / инициализировать его … Элемент неявно имеет тип «any», поскольку выражение типа » any «не может использоваться для индексирования типа» {идентификатор: номер; метка: строка; ключ: строка;}». … Я пытаюсь это… init: MyInterface = { Заголовок: ‘некоторые ‘заголовок, панель мониторинга: { идентификатор: 1, метка: «строка»; ключ: «любой» }[]; };

2. Я не могу читать код в комментариях.