[英]Angular 2 fire event after ngFor
我正在嘗試使用一個jQuery插件來替換Angular 2中某些動態元素內的默認滾動條。
這些元素是使用ngFor
循環創建的,也就是說,我無法將jQuery事件附加到創建的元素上。
應用程序有時會更改ngFor內部ngFor
的Observable
對象,以呈現視圖。
現在,我想知道Angular完成繪制元素的時間,以便我可以運行jQuery插件。
ngAfterViewInit
,因為此掛鈎被觸發了太多次 我通過使用以下自定義Pipe
找到了解決方案:在模板的ngFor
循環結束時,我寫了:
{{i | FireStoreEventPipe:'EVENT_TO_BE_FIRED'}}
其中FireStoreEventPipe
類似於:
transform(obj: any, args:any[]) {
var event = args[0];
//Fire event
return null;
}
但是這種解決方案並不令我滿意。
有什么更好的建議嗎?
謝謝
我有一個類似的問題。 我正在使用angular2 rc 1。
我通過創建一個新組件(指令對我不起作用)解決了它。
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'islast',
template: '<span></span>'
})
export class LastDirective {
@Input() isLast: boolean;
@Output() onLastDone: EventEmitter<boolean> = new EventEmitter<boolean>();
ngOnInit() {
if (this.isLast)
this.onLastDone.emit(true);
}
}
然后,我將所需的組件作為子組件導入指令中:
directives: [LastDirective],
在html中:
<tr *ngFor="let sm of filteredMembers; let last = last; let i=index;" data-id="{{sm.Id}}">
<td>
<islast [isLast]="last" (onLastDone)="modalMembersDone()"></islast>
</td>
</tr>
並且當然實現modalMembersDone()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.