我能够从dart发出警报消息,但无法弄清楚如何调用我在dart的另一个js文件中编写的函数.如果直截了当,这将是一个很好的卖点.我确实看到了这篇帖子,它让我开始了,但我觉得必须有办法,所以如果你想出来的话请分享爱.
这就是我所做的:
将其添加到yaml文件:
依赖项:js:hosted:js
将import语句添加到dart文件的顶部:import'package:js/js.dart'as js;
添加此代码以显示警报消息
js.scoped((){js.context.alert("跳跃为喜悦!");});
这是我认为应该工作的部分但不是:鉴于我有一个javascript函数doSomething(),我应该可以调用
js.context.doSomething();
Ale*_*uin 13
首先将js包作为依赖项添加到pubspec.yaml:
dependencies:
js: any
Run Code Online (Sandbox Code Playgroud)
然后你可以使用你自己的js函数myFunc():
import 'package:js/js.dart' as js;
main() {
js.context.myFunc();
}
Run Code Online (Sandbox Code Playgroud)
js.context是javascript的别名window.
有关详细信息,请参阅使用Dart中的JavaScript:js库.
也许我的回答对某些人来说是值得的,所以这就是我发布一个来自 Dart 的简单 JS 函数调用的原因。
js包依赖:
dependencies:
js: any
Run Code Online (Sandbox Code Playgroud)
example.js:
function test() {
return 12+20;
}
Run Code Online (Sandbox Code Playgroud)
example.js在里面添加上面index.html的内容<script src="...">。@JS()
library t;
import 'package:js/js.dart';
@JS()
external int Test();
class MyOwn {
int get value => Test();
}
Run Code Online (Sandbox Code Playgroud)
@override
Future<Null> ngOnInit() async => print(MyOwn().value);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4351 次 |
| 最近记录: |