javascript - 如何在 dart 中使用 javascript 库?
问题描述
我想知道如何在 dart 中使用 javascript 库?网上有几个例子,但要么不起作用,要么超级冗长,而且它们都至少有 2 年的历史。
我想在我的情况下使用 D3 库
谢谢
解决方案
在 dart 中使用 javascript 最简单的方法是立即使用dart:js
库,您可以在其中context.callMethod
调用 javascript 中的方法。
前任。
import 'dart:js';
main() => context.callMethod('alert', ['Hello from Dart!']);//'alert' is the function name, the second parameter is a `List` of arguments passed to the function.
或者,您可以使用package:js
,它通常应该被使用并提供更高级别的功能,但它可能更难开始使用,因为文档有点参差不齐。这个库使用带有 external 关键字的注解来处理 dart-JS 互操作。
前任。
@JS()
library stringify;
import 'package:js/js.dart';
// Calls invoke JavaScript `JSON.stringify(obj)`.
@JS('JSON.stringify')
external String stringify(Object obj);
有了这个,您可以stringify
在其他地方调用,静态分析将能够更好地发现类型错误,因为您可以显式定义参数和返回类型。
推荐阅读
- reactjs - 输入值 onChange - React Hooks
- node.js - PassportJS 在 authenticate() 和 req.login 之间的区别
- bash - 在 Bash 脚本中使用变量而不是文件作为输入
- java - spring boot重启时如何防止db初始化
- angular - “this”在处理角传单点击事件时迷路了
- python - 在python中按2个关键字过滤
- javascript - React Native 使用 map 渲染对象:未定义不是对象(评估'currentLocation.coords')
- html - 导航 Flexbox 上方的中心徽标
- javascript - Express, Sequelize 尝试显示和/:id 路由时出错
- excel - Excel 搜索列和行中的数字搜索