Иногда вам может понадобиться полностью пропустить Shadow DOM с помощью Polymer.
Как пропустить Shadow DOM (и использовать Light DOM) вместо шаблонов Polymer
Ответы (1)
Вы можете принудительно перенести шаблон вашего полимерного элемента в Light DOM, переопределив parseDeclaration
в объявлении Polymer()
JS/Coffeescript.
Пример кофескрипта:
Polymer "my-element",
parseDeclaration: (elementElement) ->
@lightFromTemplate(@fetchTemplate(elementElement))
Конечно, вы должны быть осторожны, потому что если у вас в шаблоне есть что-то, принадлежащее Shadow DOM (например, таблица стилей), теперь это будет в Light DOM.
Изменить: если есть лучший способ сделать это, пожалуйста, дайте мне знать.
person
Erik Nomitch
schedule
02.11.2014
Просто чтобы знать... Как это можно использовать? не могли бы вы привести пример?
- person sesteva; 03.11.2014
Конечно, я использовал это, чтобы протестировать внедрение Select2 в элемент Polymer. Нужно было получить смещение элемента Select2, но Shadow DOM всегда возвращал 0.
- person Erik Nomitch; 06.11.2014