我能够从dart发出警报消息,但无法弄清楚如何调用我在dart的另一个js文件中编写的函数。如果直截了当,这将是一个很好的卖点。我确实看到了this post,这让我开始了,但我觉得必须有办法,所以如果你想出来的话请分享爱。
这就是我所做的:
将此添加到yaml文件中:
依赖关系: JS: 托管:js
将导入语句添加到dart文件的顶部:将'package:js / js.dart'导入为js;
添加此代码以显示警告消息
js.scoped((){ js.context.alert(“欢呼雀跃!”); });
这是我觉得应该工作的部分但是没有:鉴于我有一个javascript函数doSomething(),我应该可以调用
js.context.doSomething();
答案 0 :(得分:12)
首先在pubspec.yaml
:
dependencies:
js: any
然后你就可以使用你自己的js函数myFunc()
:
import 'package:js/js.dart' as js;
main() {
js.context.myFunc();
}
js.context
是javascript window
的别名。
有关详细信息,请参阅Using JavaScript from Dart: The js Library。
答案 1 :(得分:0)
也许我的答案对某人有价值,所以这就是为什么我要从Dart代码发布简单的js函数调用。
添加依赖项
dependencies:
js: any
创建Js文件可以说test.js
function Test() {
return 12+20;
}
在index.html test.js
标记中的<script src="...">
文件上方添加
在dart中互操作以上javascript功能
@JS()
library t;
import 'package:js/js.dart';
@JS()
external int Test();
class MyOwn {
MyOwn();
int get value => Test();
}
和angularDart TODOLIST(这是默认组件)
@override
Future<Null> ngOnInit() async {
print(MyOwn().value);
}