2014-09-01 2 views
1

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

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

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

ответ

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

+0

Спасибо. Работает отлично. Чтобы избежать двух теней, я использовал теневое хранилище XFooProto. [Http://jsbin.com/hiwatidulivi/3/edit] – user1453460

Смежные вопросы