我在 Angular 8 应用程序中使用 JavaScript 库 OpenSeadragon。所以常用的方法是在 angular.jsonscripts
部分注册 javascript.min.js 文件,并在 TypeScript 中使用如下方式:
declare var OpenSeadragon: any;
然后我可以在我的 TypeScript 组件中使用 OpenSeadragon,如下所示:
const test: any = OpenSeadragon({});
所以,这是有效的。
对于这个库,有几个插件/扩展。我需要使用其中一些插件。它们依赖于导入主/核心库。所以我也在 angular.jsonscripts
部分添加了插件的 js 文件。
"scripts": [
"./node_modules/openseadragon/build/openseadragon/openseadragon.min.js",
"./node_modules/openseadragonselection/dist/openseadragonselection.js"
]
这些插件的结构是它们通过以下方式扩展核心功能:
$.Viewer.prototype.selection = function(options) {
if (!this.selectionInstance || options) {
options = options || {};
options.viewer = this;
this.selectionInstance = new $.Selection(options);
}
return this.selectionInstance;
};
对于来自 main-lib 的Viewer对象/实例,他们引入了一种名为selection({withOptions})的新方法
问题是如何在我的 Angular TypeScript 组件中访问新方法?目前我收到方法选择不存在的错误。