Angular 4 - 在* ngfor创建动态组件之后绑定jQuery事件(单击)

时间:2017-11-23 20:44:08

标签: angular typescript angular-components

我的情况是我的视图中的以下代码

    <div class="item" *ngFor="let property of propertiesRecent; let i=index">
       <app-property [property]="property" (propertyCreated)="onPropertyCreated()"></app-property></div>

现在app-property看起来像这样:

 <span class="col-lg-2 socialShare">
<fa name="share-alt" size="3"></fa>
</span>

我想在上面绑定一个jquery事件,但是一旦DOM更新了propertiesRecent的值后更新了我松开了jquery点击事件列表器..

$('.socialShareIcons').hide()

我是怎么做到的?如果您检查了ngFor我尝试过的自定义事件,我在app-property组件中尝试了AfterViewChecked,但没有帮助......

1 个答案:

答案 0 :(得分:1)

有一个类似的问题,这是github上的一个link,提供了解决方案和相应的讨论

简而言之:

<div #label *ngFor="...

Component:
Class SuperComponent {
ViewChild('label')
public label: any;
...
ngAfterViewInit() {
this.handleEndOfNgfor();
this.label.changes.subscribe(()=>this.handleEndOfNgfor());
}
private handleEndOfNgfor() 
console.log('hooray!');
}
}