Вы близки, однако вы не можете использовать выход шаблона на ng-template
, поскольку это определяет шаблон.Я обычно использую шаблон с ng-container
:
<!-- createFoo -->
<ng-container *ngTemplateOutlet="fooForm; context:{$implicit: 'CREATE', fg: createFG}"</ng-container>
<!-- updateFoo -->
<ng-container *ngTemplateOutlet="fooForm; context:{$implicit: 'UPDATE', fg: updateFG}"</ng-container>
<ng-template #fooForm let-action let-formgroup="fg">
<h1>{{action}}</h1>
<form [formGroup]="formgroup" (ngSubmit)="....">
<input formControlName="bar">
</form>
</ng-template>
Итак, let-
что-то присваивает значения, переданные в контексте, переменным, локальным для шаблона.Обратите внимание, что let-action
получает значение $implicit
из переданных значений.
В противном случае вы просто (пере) назначаете значения из объекта контекста, как в случае let-formgroup="fg"
.Переменная formgroup
в шаблоне содержит значение, переданное как свойство fg
.