Что такое угловой эквивалент WPF ContentPresenter? - PullRequest
0 голосов
/ 27 октября 2019

Речь идет об Angular с TypeScript.

Я из мира WPF и сейчас начинаю некоторые разработки на Angular.

В моем приложении есть место, где я хочу установитьэлемент управления вкладкой, который содержит все виды «открытых» документов (угловые компоненты). Может быть, я ошибочно оцениваю это, но давайте рассмотрим, есть ли инъекция, содержащая массив TabItem s, одно из свойств TabItem - это либо строка класса, фабрика, либо имя типа компонента моего приложения(Будет решено легко).

export class TabItem {
    public title : string;
    public disabled : boolean;
    public active : boolean;
    public factory: any; // or class name or object
}
@Injectable()
export class OpenDocumentService {
    openTabs: Array<TabItem> = [];
    addTab(t:TabItem){ openTabs.push(t); }
}

В wolrd WPF я бы создал предъявителя контента и привязал его к имени или отображаемому объекту.

Что бы я делал в угловом мире. Примечание: Компонент, который должен отображаться, может находиться в другом модуле.

Как я могу * ngFor поверх него и отображать произвольные компоненты при добавлении в службу? (замените ng-contentpresenter)

     <tabset>
        <tab *ngFor="let tabz of tabservice.openTabs"
[heading]="tabz.titel">
           <ng-contentpresenter use={{tabz?.factory}}/>
        </tab>
    </tabset>

...