Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Typescript调用具有多个参数的cytoscape.use()时出现问题_Javascript_Typescript_Cytoscape.js - Fatal编程技术网

Javascript 使用Typescript调用具有多个参数的cytoscape.use()时出现问题

Javascript 使用Typescript调用具有多个参数的cytoscape.use()时出现问题,javascript,typescript,cytoscape.js,Javascript,Typescript,Cytoscape.js,我们正在开发一个用Typescript编写的UI,使用和扩展。根据对扩展的描述,它应该像这样在cytoscape中注册 import cytoscape from 'cytoscape'; import $ from 'jquery'; import contextMenus from 'cytoscape-context-menus'; cytoscape.use(contextMenus, $); 但是,这样注册扩展将导致以下Typescript编译错误 错误在。。。。 TS2554:应

我们正在开发一个用Typescript编写的UI,使用和扩展。根据对扩展的描述,它应该像这样在cytoscape中注册

import cytoscape from 'cytoscape';
import $ from 'jquery';
import contextMenus from 'cytoscape-context-menus';

cytoscape.use(contextMenus, $);
但是,这样注册扩展将导致以下Typescript编译错误

错误在。。。。 TS2554:应为1个参数,但得到2个

查看cytoscape的类型定义文件,可以在index.d.ts的底部找到以下代码

type Ext = (cytoscape: (options?: CytoscapeOptions) => Core) => void;
function use(module: Ext): void;
以及Cytoscape index.js中的以下代码

// e.g. cytoscape.use( require('cytoscape-foo'), bar )
cytoscape.use = function( ext ){
  let args = Array.prototype.slice.call( arguments, 1 ); // args to pass to ext
  args.unshift( cytoscape ); // cytoscape is first arg to ext
  ext.apply( null, args );
  return this;
};
如果我执行以下任一操作,编译错误就会消失

  • 更新类型定义文件以包含rest参数,
    函数用法(模块:Ext,…args:any[]):void
  • 在cytoscape上面添加
    //ts ignore
我认为Cytoscape的类型定义文件需要更新,对吗