Zone.js 将错误的 currentZone 值传递给 onInvoke 挂钩
Zone.js passes wrong currentZone value to onInvoke hook
那里。
根据 ZoneSpec 接口的注释(位于 zone.ts 文件中),onInvoke 挂钩必须接收 currentZone 作为第二个参数。如果我创建拦截区域,那么对该区域的引用应该作为第二个参数传递。
以下是文档摘录:
/* Allows interception of the callback invocation.
@param parentZoneDelegate Delegate which performs the parent [ZoneSpec] operation.
@param currentZone The current [Zone] where the current interceptor has beed declared.
@param targetZone The [Zone] which originally received the request.
@param delegate The argument passed into the run method.
@param applyThis The argument passed into the run method.
@param applyArgs The argument passed into the run method.
@param source The argument passed into the run method.
*/
onInvoke?:
(parentZoneDelegate: ZoneDelegate, currentZone: Zone, targetZone: Zone, delegate: Function,
applyThis: any, applyArgs: any[], source: string) => any;
我创建了一个 interceptZone,我认为它应该作为当前区域传递给我的挂钩方法。但出于某种原因,我收到了与 targetZone 相同的值。
我创建了一个演示 HERE,它描述了所描述的问题。
我是不是漏掉了什么?
那是库中的错误。开发人员证实了这一点。
详细信息 HERE
那里。
根据 ZoneSpec 接口的注释(位于 zone.ts 文件中),onInvoke 挂钩必须接收 currentZone 作为第二个参数。如果我创建拦截区域,那么对该区域的引用应该作为第二个参数传递。
以下是文档摘录:
/* Allows interception of the callback invocation.
@param parentZoneDelegate Delegate which performs the parent [ZoneSpec] operation.
@param currentZone The current [Zone] where the current interceptor has beed declared.
@param targetZone The [Zone] which originally received the request.
@param delegate The argument passed into the run method.
@param applyThis The argument passed into the run method.
@param applyArgs The argument passed into the run method.
@param source The argument passed into the run method.
*/
onInvoke?:
(parentZoneDelegate: ZoneDelegate, currentZone: Zone, targetZone: Zone, delegate: Function,
applyThis: any, applyArgs: any[], source: string) => any;
我创建了一个 interceptZone,我认为它应该作为当前区域传递给我的挂钩方法。但出于某种原因,我收到了与 targetZone 相同的值。 我创建了一个演示 HERE,它描述了所描述的问题。
我是不是漏掉了什么?
那是库中的错误。开发人员证实了这一点。 详细信息 HERE