Обычно взаимодействие JS полагается на подъем функций, чтобы гарантировать, что класс JS старого стиля находится в области видимости. Классы ES6, однако, не подняты и недоступны там, где их ожидает Дарт. Есть несколько способов сделать класс доступным для Дартса:
Размещение объекта класса в окне
Это помещает класс в ту же область, в которую будет добавлено определение функции. В JavaScript:
class MyClass { ... }
window.MyClass = MyClass;
Создание объекта модуля
Вы также можете поместить класс в своего рода псевдомодуль или пространство имен. В JavaScript:
class MyClass { ... }
var myModule = { MyClass: MyClass };
Который затем доступен на myModule.myClass
в дротике:
@JS('myModule.myClass')
class MyClass { ... }