Sam*_*pak 11 dart dart-js-interop
在Dart文档中的任何地方,建议使用js包进行javascript互操作.
但是,我最近发现dart:jsSDK中存在的包似乎具有相似(但不相同)的接口.
这些包装之间有什么区别吗?它们具有相同的功能吗 推荐哪一个?
Ale*_*uin 11
Js interop以package开头:js.它是用window.postMessage构建的.
后来dart:js已被添加以提供更好的性能并减少已编译的js文件的大小.基本上目标是:
一旦dart:js已经准备好,包:js已被重写为使用dart:js封面.
package:js提供了一个更简单的Api,它的代价是增加了js的大小(因为package:js使用了dart:mirrors和noSuchMethod).
以下是使用package完成的事情:js和dart:js:
import 'package:js/js.dart' as js;
main() {
var pixi = new js.Proxy(js.context.PIXI.Stage, 0xffffff);
var renderer = js.context.PIXI.autoDetectRenderer(400, 400);
document.body.append(renderer.view);
}
Run Code Online (Sandbox Code Playgroud)
import 'dart:js' as js;
main() {
var pixi = new js.JsObject(js.context['PIXI']['Stage'], [0xffffff]);
var renderer = js.context['PIXI'].callMethod('autoDetectRenderer', [400, 400]);
document.body.append(renderer['view']);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
885 次 |
| 最近记录: |