Я пытаюсь настроить систему вкладок, которая позволяет компонентам регистрироваться самостоятельно (с заголовком). Первая вкладка похожа на почтовый ящик, там есть множество действий/элементов ссылок для выбора для пользователей, и каждый из этих кликов должен быть в состоянии создать новый компонент по щелчку. Действия/ссылки поступают из JSON.
Созданный экземпляр затем зарегистрируется как новая вкладка.
Я не уверен, что это "лучший" подход? До сих пор я видел только ориентиры для статических вкладок, которые не помогают.
Пока у меня есть только служба вкладок, которая загружается в main для сохранения в приложении. Это выглядит примерно так:
export interface ITab { title: string; }
@Injectable()
export class TabsService {
private tabs = new Set<ITab>();
addTab(title: string): ITab {
let tab: ITab = { title };
this.tabs.add(tab);
return tab;
}
removeTab(tab: ITab) {
this.tabs.delete(tab);
}
}
Вопросы:
- Как я могу иметь динамический список в папке "Входящие", который создает новые (разные) вкладки? Я вроде угадал
DynamicComponentBuilder
будет использоваться? - Как можно создавать компоненты из папки "Входящие" (при нажатии), регистрироваться как вкладки и также отображаться? Я предполагаю, что
ng-content
, но я не могу найти много информации о том, как его использовать
РЕДАКТИРОВАТЬ: попытка уточнить.
Думайте о почтовом ящике как о почтовом ящике. Элементы выбираются как JSON, и он отображает несколько элементов. После щелчка по одному из элементов создается новая вкладка с этим действием действия "тип". Тип тогда является компонентом.
РЕДАКТИРОВАТЬ 2: изображение.