Angular:错误 TypeError:this.panZoomAPI.panDelta 不是函数

问题描述 投票:0回答:1

我做了一个小 ->stackblitz <- to demonstrate my issue.

我有一个具有平移缩放功能的主组件,其中有一个父组件保存一些内容(子组件)。正在使用的库是ngx-panzoom

使用默认的更改检测策略似乎工作得很好,尽管在我的实际情况中,我在

cdr.detectChanges()
函数的最后需要手动操作
ngAfterViewInit

在 stackblitz 示例中,我将

ChangeDetectionStrategy
保留为默认值,看起来它正在工作。当我尝试触发手动更改检测(通过私有
detectChanges
函数)时,设置 panZoomAPI 的部分会收到
null
/
undefined
而不是实际的 api。

稍后会破坏

resetPanZoom
函数,该函数尝试计算内容的宽度并将其居中,以便看起来不错。

如果我触发手动更改检测,有什么想法为什么我的

api
undefined
吗?

angular typescript angular2-changedetection panzoom
1个回答
0
投票

您可以自己检查这些值,

panzoomConfig.api
首先发出一个值,其中每个条目都是
null

发出的第二个值包含您正在查找的所有函数。您可能应该跳过第一个值。

this.panzoomConfig.api.pipe(takeUntil(this.ngUnsubscribe), skip(1))
© www.soinside.com 2019 - 2024. All rights reserved.