typescript Angular:ERROR TypeError:this.panZoomAPI.panDelta不是函数

wgmfuz8q  于 2023-10-22  发布在  TypeScript
关注(0)|答案(1)|浏览(106)

我做了一个小的-> stackblitz <-来演示我的问题。
我有一个主组件,它具有平移缩放功能,其中有一个父组件,它包含一些内容(子组件)。使用的库是ngx-panzoom
使用默认的更改检测策略似乎工作得很好,尽管在我的实际情况中,我必须在ngAfterViewInit函数的最后手动执行cdr.detectChanges()
在stackblitz示例中,我将ChangeDetectionStrategy设置为默认值,看起来它可以正常工作。当我试图触发手动更改检测(通过私有detectChanges函数)时,设置panZoomAPI的部分会接收null/undefined而不是实际的API。
这会破坏resetPanZoom函数,该函数试图计算内容的宽度并将其居中,以便看起来很漂亮。
如果我触发手动更改检测,为什么我的apiundefined

jk9hmnmh

jk9hmnmh1#

您可以自己检查这些值,panzoomConfig.api首先发出一个值,其中每个条目都是null
第二个值包含了你要找的所有函数。你应该跳过第一个值。

this.panzoomConfig.api.pipe(takeUntil(this.ngUnsubscribe), skip(1))

相关问题