Как создать структурную директиву, аналогичную ngIf в Angular
Структурные директивы отвечают за макет HTML. Они формируют или изменяют структуру DOM, обычно добавляя, удаляя или манипулируя элементами.
Структурные директивы начинаются с символа *
. Когда angular видит директиву с префикса *
, он переводит атрибут *ngIf
в
элемент, обернутый вокруг элемента host, как показано ниже:
Ниже приведена копия директивы ngIf, в которой мы проверяем, существует ли вход в директиву (здесь я не проверяю тип, поэтому, если значение равно, 0
оно не будет отображаться). Если он существует, то с помощью viewContainerRef
мы создаем EmbeddedView
, передавая шаблон внутри ng-template
.
Здесь мы определяем свойство title
в нашем компоненте:
Наконец, мы объявляем директиву в app.module.ts
.
Вывод отображается в браузере, как показано ниже: