метод registerElement2
Устарело: это устаревший API, основанный на устаревшей спецификации Web Components v0.5. Этот метод не работает в современных браузерах и может использоваться только с полифиллом.
Последняя спецификация Web Components поддерживается косвенно через JSInterop и не имеет явного API в библиотеке dart:html.
Исходная документация до признания устаревшей:
Зарегистрируйте пользовательский подкласс Element, чтобы его можно было создавать через DOM.
Это необходимо, чтобы разрешить создание любых пользовательских элементов.
Регистрируемый класс должен быть подклассом HtmlElement или SvgElement. Если он напрямую наследуется от одного из этих классов, его можно использовать следующим образом:
class FooElement extends HtmlElement{
void created() {
print('FooElement created!');
}
}
main() {
document.registerElement('x-foo', FooElement);
var myFoo = new Element.tag('x-foo');
// prints 'FooElement created!' to the console.
} Пользовательский элемент также можно создать с помощью HTML, используя синтаксис <x-foo></x-foo>
Также можно создавать подклассы других элементов:
class BarElement extends InputElement{
void created() {
print('BarElement created!');
}
}
main() {
document.registerElement('x-bar', BarElement);
var myBar = new Element.tag('input', 'x-bar');
// prints 'BarElement created!' to the console.
} Этот пользовательский элемент также можно создать с помощью HTML, используя синтаксис <input is="x-bar"></input>
Реализация
@deprecated
Function registerElement2(String tag, [Map? options]) {
return _registerCustomElement(JS('', 'window'), this, tag, options);
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-html/HtmlDocument/registerElement2.html