Skip to content

Instantly share code, notes, and snippets.

@laat
Created March 21, 2014 20:31
Show Gist options
  • Select an option

  • Save laat/9695713 to your computer and use it in GitHub Desktop.

Select an option

Save laat/9695713 to your computer and use it in GitHub Desktop.
Ecmascript 6 Web Component.
<html>
<head>
<link rel="import" href="x-foo.html">
</head>
<body>
<x-foo></x-foo>
</body>
</html>
<template id="foo">
<span>foo</span>
</template>
<script>
class XFoo extends HTMLElement {
constructor() {
let owner = document.currentScript.ownerDocument
let template = owner.querySelector("#foo");
let clone = template.content.cloneNode(true);
let root = this.createShadowRoot();
root.appendChild(clone);
}
foo() {
console.log("foo!")
}
}
XFoo.prototype.createdCallback = XFoo.prototype.constructor;
XFoo = document.registerElement('x-foo', XFoo);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment