在* ngFor,angular6

时间:2018-12-24 04:24:16

标签: angular

我正在尝试在* ngFor中使用饱和弹出框,以便可以为不同的按钮使用多个饱和弹出框实例。

sat-popover

它不起作用。请帮助我。

1 个答案:

答案 0 :(得分:0)

使用模板引用获取SatPopover的引用

component.ts

@ViewChildren('p') allPopovers: QueryList<SatPopover>;

component.html

<sat-popover *ngFor="let popover of users" #p [horizontalAlign]="'before'" verticalAlign="above">
    <div class="info-wrapper">
        Username: {{ popover.username }} <br>
      Posts: {{ popover.posts }}
    </div>
  </sat-popover>


<div *ngFor="let tpl of allPopovers;let i = index"style="margin: 100px 200px;">
  <button [satPopoverAnchorFor]="tpl" (click)="tpl.toggle()">More Info-{{i+1}}</button>
</div>

摆脱表达式已更改错误Inject ChangeDetectionRef,然后使用detectChanges方法检查视图及其子对象

constructor(private cdr: ChangeDetectorRef) {}
ngAfterViewInit(){
    this.cdr.detectChanges();
  }

示例:https://stackblitz.com/edit/sat-popover-queryxhildren-luwzzf