从DART的JavaScript调用(calling javascript from Dart)

2019-08-03 23:54发布

我能够从镖火了一条警告消息,但无法弄清楚如何调用一个函数我从另一个镖js文件中写道。 这将是一个很大的卖点,如果它是直线前进。 我确实看到了这个帖子 ,这让我开始,但我觉得必须有一个办法,所以请分享爱,如果你想通了。

下面是我做了什么:

  1. 这种添加到YAML文件:

    依赖关系:JS:主持:JS

  2. 添加import语句镖文件的顶部:进口“包:JS / js.dart”作为JS;

  3. 添加的这段代码来显示警报消息

    js.scoped((){js.context.alert( “雀跃!”);});

  4. 下面是我认为应该工作,但没有部分:因为我有一个JavaScript函数DoSomething的(),我应该能够调用

    js.context.doSomething();

Answer 1:

首先添加的js包在你的依赖pubspec.yaml

dependencies:
  js: any

然后你可以使用你自己的js函数myFunc()这样的:

import 'package:js/js.dart' as js;

main() {
  js.context.myFunc();
}

js.context是一个别名的JavaScript window

请参阅使用JavaScript从DART:该JS库的更多细节。



Answer 2:

may be my answer will be worth for somebody, so thats why i am posting simple js function call from Dart code.

add dependency

dependencies:
  js: any

create Js file lets say test.js

function Test() {
    return 12+20;
}

add above test.js file in index.html <script src="..."> tag

interop above function of javascript in dart

@JS()
library t;

import 'package:js/js.dart';

@JS()
external int Test();

class MyOwn {

  MyOwn();

  int get value => Test();


}

and in angularDart TODOLIST (which is default component available)

@override
  Future<Null> ngOnInit() async {
    print(MyOwn().value);
  }


文章来源: calling javascript from Dart