1) Когда вы пишете обе строки в один момент времени, шаблон, необходимый для ngTemplateOutlet
, присутствует в одном месте, поэтому он работает
2) Когда они находятся в двух разных компонентах, между ними нет никакой связи other Таким образом, при передаче ngTemplateOutlet="options"
он просто принимает ее как строку, а не переменную ссылки на шаблон, поэтому ничего не отображается
Используйте этот метод
warningModal.component. html │
<app-layer [temp]="control"></app-layer>
<ng-template #control>
<p>hello guys</p>
</ng-template>
layer.component.ts
import { Component, OnInit,Input } from '@angular/core';
@Component({
selector: 'app-layer',
templateUrl: './layer.component.html',
styleUrls: ['./layer.component.css']
})
export class LayerComponent{
@Input() temp
}
layer.component. html
<ng-container *ngTemplateOutlet="temp"></ng-container>
Рабочая ссылка
https://stackblitz.com/edit/angular-xzlyhq?embed=1&file=src / app / layer / layer.component. html