Функция Dart не будет работать в качестве конструктора JS, потому что у нее не будет настроен надлежащий прототип.Также с пользовательскими элементами есть еще одна трудность: он должен правильно делегировать конструктор элемента DOM.
Обычный способ сделать это - с классом ES6.Я сделал пример использования JS для определения класса пользовательских элементов.Я думаю, что вы, возможно, видели, но связывая это здесь на всякий случай: Dart custom element interop demo .Файл web / interop.js определяет класс пользовательских элементов.
Я думаю, что конструктор ES5 тоже будет работать, если он будет использовать Reflect.construct () .На прошлой неделе я потратил некоторое время на то, чтобы выяснить, поможет ли это модифицировать dart: html для работы с пользовательскими элементами, но я не думаю, что этого достаточно.Дарту потребуются некоторые лучшие возможности взаимодействия JS.
Тем временем я предлагаю определить пользовательские классы элементов в JS и использовать взаимодействие для общения с Дартом (и наоборот).