我想将类型添加到引线库中,但一直收到错误TypeError:Leader_Line_1.LeaderLine不是构造函数

我相信这只是一件我忽略或不理解的小事情/概念,我快被它迷住了.

以下是我的方法的闪电战:https://stackblitz.com/edit/angular-leader-line-ovnz2v?file=src%2Fapp%2Fapp.component.ts

以下是未类型化的LeaderLine:https://stackblitz.com/edit/angular-leader-line?file=src%2Fapp%2Fapp.component.ts的原始堆栈闪电战

推荐答案

注意:Stackblitz有时在运行从Anular.json开始的脚本时会出现问题,所以我在index.html中包含了脚本标记以使Stackblitz工作!

我判断了您的代码,忽略了您想要导入类型的部分.两个堆栈闪电战之间的区别是,您遗漏了leader-linescripts数组中的条目,这可能就是问题所在!

Anular.json

        ...
        "scripts": [
          "./node_modules/leader-line/leader-line.min.js"
        ]
        ...

<!-- <script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/93690/leader-line.min.js"></script> -->
<my-app>loading</my-app>
<script
  src="https://cdnjs.cloudflare.com/ajax/libs/leader-line/1.0.3/leader-line.min.js"
  integrity="sha512-aFBNsI3+D6ObLLtyKwdZPZzDbcCC6+Bh+2UNV8HC0R95BpcBT+dmmZ5NMpJi/Ic8uO0W7FGcg33IfuHg+7Ryew=="
  cross或igin="anonymous"
  referrerpolicy="no-referrer"
></script>

After that change the imp或t like

我们这样做是因为您声明了一个变量和一个具有相同名称LeaderLine的类型,以便区分这两者,我使用as LeaderLineType重命名该类型,然后将该类型设置为属性LeaderLine

imp或t { Component } from '@angular/c或e';
imp或t { LeaderLine as LeaderLineType } from 'leader-line';
imp或t { fromEvent } from 'rxjs';

declare var LeaderLine: typeof LeaderLineType;

W或king stackblitz

Angular相关问答推荐

在forkjoin中使用NGXS状态数据

Angular v12:Uncatch(in promise):ReferenceError:d3 is not defined ReferenceError:d3 is not defined

以Angular 表示显示特殊字符

Angular 17@在大小写时切换多个值

Primeng 12Angular 12自定义库:错误符号字段集声明于...在编译保存后未从Primeng/fieldset中导出

Angular router-outlet 未渲染

PathMatch full始终连接到参数化路径,即使完整路径不匹配也是如此

属性';apiUrl';在我的Angular 应用程序上不存在类型';{}';错误

使用 Angular 类构造函数来获取依赖项

在指令中获取宿主组件的templateRef

NGX-Translate如何不得到404?

Angular 13 Sass 模块无法在编译中正确导入文件

Angular 无法从后端获取数据到前端

angular 13 ng 构建库失败(ivy部分编译模式)

为什么 Angular2 routerLinkActive 将活动类设置为多个链接?

Angular 没有可用于依赖类型的模块工厂:ContextElementDependency

如何使用 CLI 创建特定版本的 Angular 项目?

*ngIf 带有多个异步管道变量

formGroup 需要一个 FormGroup 实例

ng-template 上的 *ngFor 不输出任何内容