我正在使用ngAfterViewChecked来调用一个使用jquery初始化一些css角色的函数
我的代码就像这样
ngAfterViewChecked(){
console.log("ngAfterViewChecked");
this.callJqueryMethod();
}
callJqueryMethod(){
jQuery(".leftText").each(function () {
var $this = jQuery(this);
$this.height($this.parent("div").find(".boxWarp").height()+42);
});
jQuery(window).resize(function () {
jQuery(".leftText ").each(function () {
var $this = jQuery(this);
$this.height($this.parent("div").find(".boxWarp").height() + 42);
});
});
}
由于某些原因,ngAfterViewChecked继续在循环中反复调用。
我必须使用这个生命周期钩子,在其他生命周期中,厄运还没有准备好。
有没有人遇到过这种问题?我在控制台中看不到错误
答案 0 :(得分:2)
看起来jquery正在触发DOM的更新,实际上调用了ngAfterViewChecked()并且这个再次调用jquery,所以你在jquery和ngAfterViewChecked()之间有一个循环。
尽量避免使用此钩子进行jquery。