JS Interop работает с DD C, но не с Dart2JS - PullRequest
0 голосов
/ 06 февраля 2020

Dart 2.7 build_runner: 1.7.3 build_web_compilers: 2.9.0

Я создал интерфейс для GoJS, используя пакет js: https://github.com/jodinathan/gojs_dart/ Проблема в том, что он работает безупречно в DD C, но выдает исключение при использовании с Dart2 JS.

Вот небольшая копия, которую вы можете проверить: https://github.com/jodinathan/gojs_dart/tree/master/example/flowchart

Ошибка, кажется, в строке ..bind (GoJSBinding ('text'). MakeTwoWay ()) Я думаю, что она не может найти функцию bind (), однако, может, когда в DD C .

Любые идеи о том, как я мог бы решить эту проблему?

Проблема в dart-sdk: https://github.com/dart-lang/sdk/issues/40434

1 Ответ

0 голосов
/ 06 февраля 2020

Похоже, что dart2 js требует внешнего конструктора фабрики для всех классов, а dartdev c - нет. Например, для первой ошибки, которая возникает сегодня, у вас есть класс, подобный этому:

@JS('Node')
class GoJSNode extends GoJSPart {}

И он должен выглядеть так:

@JS('Node')
class GoJSNode extends GoJSPart {
  external factory GoJSNode();
}
...