当ng-template可见时调用方法

时间:2018-04-19 16:44:56

标签: angular ng-template

ng-template在范围内可见或活动时是否有任何事件 是否可以以这种方式执行任何方法从容器中调用它?

<ng-template (active/vissible)="callMethod()"> ... </ng-template>

(OR)

<ng-container *ngTemplateOutlet="mytemplate" ></ng-container>

2 个答案:

答案 0 :(得分:3)

一个选项可能是(对任何DOM对象都有效)是通过ViewChildren的QueryList&#39; s changes。您标记任何DOM元素(或使用它的类型) - <div #myEl></div>

分配:

@ViewChildren('myEl') myEl: QueryList<any>;

订阅ngAfterViewInit中的更改(与早期的AFAIK尚未创建):

ngAfterViewInit() {
  this.myEl.changes.subscribe(_ => console.log(_));
}

答案 1 :(得分:-1)

您可以使用

public mycondition: boolean = true;   ///according to need make it true or false

<ng-template *ngIf="mycondition"> ... </ng-template>