不,这与其他同名问题不同。
有看似相同的包似乎可以做到这一点,但使用不同的 api。
- http://dart-lang.github.io/js-interop/docs/js.html
- https://api.dartlang.org/docs/channels/stable/latest/dart_js.html
为什么有两个?
我们应该使用哪一个?
interop 看起来更新并且有更好的 api,但实际上并没有工作。根据文档,您应该能够转换此 javascript:
var stage = new PIXI.Stage(0xFFFFFF);;
renderer = PIXI.autoDetectRenderer(800, 600);
document.body.appendChild(renderer.view);
进入:
var pixi = new js.Proxy(js.context.PIXI.Stage, 0xffffff);
var renderer = js.context.PIXI.autoDetectRenderer(400, 400);
document.body.append(renderer.view);
但是当您尝试编译它时会出现错误:
dart2js
Error occured:/Users/doug/megac/client/public/dart/index.dart:7:27:
Warning: No member named 'PIXI' in class 'Proxy'.
var pixi = new js.Proxy(js.context.PIXI.Stage, 0xffffff);
^^^^^^^^^^^^^^^
所以... js:飞镖?那是你应该使用的吗?
编辑:顺便说一句,对于任何偶然发现这一点的人,还有一个关于如何缩小 dart-js 互操作桥的开放错误http://code.google.com/p/dart/issues/detail?id=15795&thanks=15795&ts=1388068177操作目前不起作用。最初的问题是在 2013 年 5 月报告的,此后没有任何行动,所以不要屏住呼吸。