Как наследовать от пользовательского элемента

Можно ли наследовать от пользовательского элемента.

Я добавил базовый пример пользовательского элемента x-foo с шаблоном и теневым домом. Можно ли создать новый пользовательский элемент с именем «x-superfoo», который наследует функции и стили «x-superfoo» (и перезаписывает некоторые стили, например, синий цвет)?

http://jsbin.com/hodoxo/1/edit


person chriskohler    schedule 01.09.2014    source источник


Ответы (1)


Конечно! Просто используйте стандартное прототипное наследование JS.

var XSuperFooProto = Object.create(XFooProto);

XSuperFooProto.createdCallback = function() {
  XFooProto.createdCallback.call(this);

  // Set up another shadow root...
};

document.registerElement('x-superfoo', {prototype: XSuperFooProto});

http://jsbin.com/hiwatidulivi/1/edit?html,js,output

person CletusW    schedule 02.09.2014
comment
Спасибо. Работает отлично. Чтобы избежать двух теневых домов, я использовал теневой дом XFooProto. [jsbin.com/hiwatidulivi/3/edit] - person chriskohler; 04.09.2014