【发布时间】:2020-08-26 14:44:10
【问题描述】:
我正在尝试导入一个d3-lasso 包以在angular (v10) 和d3 (v5) 上使用。
我使用npm 安装了d3-lasso。
import { Component, OnInit, AfterViewInit, AfterContentInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import * as d3 from 'd3';
import * as d3lasso from 'd3-lasso'; <-- this is how I'm importing the library
当在常规javascript 中使用它时,我们会将它用作d3.lasso(),它会正常工作。但是由于我使用的是角度,所以我收到以下错误。
Property 'lasso' does not exist on type 'typeof' import("..../@types/d3/index")'
所以,我尝试了几件事:
d3.d3lasso.lasso()
d3lasso.lasso()
但它们都排除了与上述类似的错误。如何调用这个lasso 函数以便在组件中使用它?
【问题讨论】:
-
您要安装的是一个与 typescript 不兼容的 javascript 包,有人遇到像您这样的问题尝试检查它:github.com/skokenes/D3-Lasso-Plugin/issues/14
-
@RebaiAhmed,您提供的链接并没有说太多。该人说他们有类似的问题,然后说问题已解决,但不确定他是如何做到的。我想知道是否有什么办法可以让它发挥作用?
-
你试过
declare var d3lasso;而不是import然后用d3lasso.lasso() -
@daddygames,你能详细说明一下吗?我不确定我是否关注
-
您必须在 index.html 中使用
<script>标记才能使声明工作。类似于您在 Angular 中使用 Jquery 的方式
标签: javascript angular d3.js