我有一个 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);