// 1. Acessa o conteúdo do template
var t = document.querySelector('#meuTemplate').content;
// 2. Manipula elemento interno do template
t.querySelector('img').src = 'logo.png';
// 3. Clona e insere no DOM
document.body.appendChild(t.cloneNode(true));
como usar?
Slide 55
Slide 55 text
Shadow
DOM
Slide 56
Slide 56 text
Shadow DOM
esconde os
detalhes de
implementação
Slide 57
Slide 57 text
mas e o
?
Slide 58
Slide 58 text
do que é feito
um ?
ou um password, textarea, date?
Slide 59
Slide 59 text
como usar?
Documento
var cuia = document.querySelector('#cuia')
.createShadowRoot();
cuia.innerHTML = '
Mate
';
Slide 60
Slide 60 text
estilo, marcação e
script encapsulados
Documento
var cuia = document.querySelector('#cuia')
.createShadowRoot();
cuia.innerHTML = '
Mate
' +
'h1 { color: #f00; }';
Slide 61
Slide 61 text
como ativar?
Slide 62
Slide 62 text
Import
Slide 63
Slide 63 text
No content
Slide 64
Slide 64 text
No content
Slide 65
Slide 65 text
No content
Slide 66
Slide 66 text
No content
Slide 67
Slide 67 text
como usar?
Slide 68
Slide 68 text
No content
Slide 69
Slide 69 text
jonrimmer.github.io/are-we-componentized-yet
Slide 70
Slide 70 text
Flags
Slide 71
Slide 71 text
quero usar hoje,
onde eu encontro?
NPM? Bower?
Slide 72
Slide 72 text
@eduardolundgren
Slide 73
Slide 73 text
@bernarddeluna
Slide 74
Slide 74 text
customelements.io
Slide 75
Slide 75 text
customelements.github.io/twitter-element
Slide 76
Slide 76 text
customelements.github.io/gmaps-element
Slide 77
Slide 77 text
customelements.github.io/camera-element
Slide 78
Slide 78 text
eduardolundgren.github.io/tracking-element
Slide 79
Slide 79 text
ou seja...
Slide 80
Slide 80 text
encapsulamento e
reaproveitamento de
código de verdade
Slide 81
Slide 81 text
A melhor forma de
prever o futuro é
inventando ele