0

我有一个 Angular 7 应用程序,其中有一个使用tippy.js 4.0.2 创建工具提示的指令。这在本地模式(ng serve)下工作得很好。但是,一旦我尝试将其集成到我的服务器上运行的页面中,该页面将tippy.js 2.6.0 作为全局变量,当单击具有工具提示的元素时,mouseup 会出现以下错误:

TypeError: i 是未定义的tippy.all.min.js:1:23177

为什么两个版本的tippy会相互干扰,我该如何修复这个错误?

我的tippy指令包含以下重要部分:

import {
    Instance as TippyInstance,
    Props as TippyOptions,
    default as tippy,
} from 'tippy.js';

/** fake component needed to be able to include tippy theme styles */
@Component({
    selector: "[tooltip]",
    template: `<ng-content></ng-content>`,
    styleUrls: [
        '../../../node_modules/tippy.js/themes/light.css',
    ],
    encapsulation: ViewEncapsulation.None
})
@Directive({
    /* tslint:disable-next-line */
    selector: '[tooltip]',
})

并动态更新我使用的更新选项

if (!this.tippyInstance) this.tippyInstance = tippy(this.el.nativeElement, this.tippyOptions || undefined) as TippyInstance;
else this.tippyInstance.set(this.tippyOptions);
4

1 回答 1

0

我无法解决问题,但是在我的 Angular 项目中对tippy.js v2.6.0 进行降级使错误按预期消失。

于 2019-04-23T09:33:19.777 回答