我试图在区域稳定后使用ngZone来更新我的分页状态,以便我试图分页的组件将被完全渲染,并且我将从渲染器获得正确的scrollWidth。
在Angular Material 2代码中使用它的方式是:
// Update the position once the zone is stable so that the overlay will be fully rendered
// before attempting to position it, as the position may depend on the size of the rendered
// content.
this._ngZone.onStable.asObservable().pipe(first()).subscribe(() => {
this.updatePosition();
});
我在我的组件中执行相同操作并运行我自己的方法而不是' this.updatePosition()'。这并不能帮助我获得最新的渲染状态,但它仍然运行得太早。
我在这里缺少什么?将ngZone与onStable一起使用的正确方法是什么?
答案 0 :(得分:1)
// Update the position once the zone is stable so that the overlay will be fully rendered
// before attempting to position it, as the position may depend on the size of the rendered
// content.
let that = this;
that.updatePosition();