Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
如何在dart中使用javascript库_Javascript_Dart_Chart.js_Dart Js Interop - Fatal编程技术网

如何在dart中使用javascript库

如何在dart中使用javascript库,javascript,dart,chart.js,dart-js-interop,Javascript,Dart,Chart.js,Dart Js Interop,我正在学习和,它是chart.js的省道包装器 我认为这个文件是连接dart和javascript的桥梁。所以,在这个文件中,它必须告诉这个dart文件试图连接的javascript库。我说得对吗?但是我没有找到它 以下陈述是什么意思?以下两条语句是否说明此dart文件试图连接的javascript库 @JS('Chart') library chart.js; 我不知道如何将函数映射到中的函数。任何人都可以提供更多教程?您不需要映射到JavaScript文件,只需要映射到JS对象和函数即可

我正在学习和,它是chart.js的省道包装器

我认为这个文件是连接dart和javascript的桥梁。所以,在这个文件中,它必须告诉这个dart文件试图连接的javascript库。我说得对吗?但是我没有找到它

以下陈述是什么意思?以下两条语句是否说明此dart文件试图连接的javascript库

@JS('Chart')
library chart.js;

我不知道如何将函数映射到中的函数。任何人都可以提供更多教程?

您不需要映射到JavaScript文件,只需要映射到JS对象和函数即可

您需要在
index.html
中添加一个脚本标记,用于加载要映射到的JavaScript文件,这将使其在全局可用

然后需要绘制地图

  • Dart函数转换为JavaScript函数,因此当您调用此类Dart函数时,调用实际上将被转发到JavaScript函数

  • Dart类,这样您就可以使用强类型的Dart类。例如,当您将JavaScript对象作为参数传递给映射函数或从此类函数调用中获取返回值时,这些类将被转换为JavaScript对象或从JavaScript对象中转换

library
之后的名称
chart.js
是任意的。
library
指令只需要一个唯一的名称

@JS('Chart')
表示加载的Chart.JS库在JavaScript land中的
窗口下可用。Chart
窗口
表示JS land中的全局,并且是隐式的)

声明一个Dart类
Chart
,并且
@JS()
将其映射到上面声明的库作用域中具有相同名称的JS类。因此,Dart类
Chart
将映射到JavaScript类
window.Chart.Chart

external factory Chart(
Dart
Chart
类中的
external…
声明映射到具有相同名称的JS方法

更多详细信息可在README.md中找到


如果你仍然陷于困境,你可以提出更具体的问题。很难回答有关如何使用软件包的一般问题。

谢谢。我读了,但是从自述中我没有得到你给我的细节。您是如何从自述文件中学习
package:js
;p和讨论中,Dart团队成员在此功能上提供了有价值的输入。在他们开发该功能的过程中,我也关注了他们的讨论,我使用了之前的
dart:js
。这有助于获得一个好的图片,但我从来没有在实际项目中真正使用过这些东西。谢谢。我真的很感激。就个人而言,该文档非常缺乏,
package:js
非常难以使用。在现实世界中使用它太冒险了。文档有点稀疏,我同意,但我并不觉得太难。当然,如果您是Dart新手,并且可能也没有很好的JS知识,那么一下子就有点太多了。在过去的两年里,整个Dart生态系统发生了如此多的巨大变化,以至于需要一段时间才能全部更新和改进文档等等。目前只有Dart 2具有最高优先级,因为颤振取决于它,他们最终将发布1.0,但Dart 2也必须发布。Flitter是Dart成为大玩家的杀手级应用。因此,优先级非常重要。您可以使用web视图加载javascript,但目前,我没有找到任何合适的解决方案将js文件导入dart并运行:以下是使用js的文件的链接()
@JS()
class Chart {
external factory Chart(