index.htmlне установлены веб-компонент с ECMA6
<!DOCTYPE html>
<html>
<head>
<script src="https://google.github.io/traceur-compiler/bin/traceur.js"></script>
<script src="https://google.github.io/traceur-compiler/src/bootstrap.js"></script>
<script>
traceur.options.experimental = true;
</script>
<link rel="import" href="x-item.html">
</head>
<body>
<x-item></x-item>
</body>
</html>
и мой веб-компонент: х-item.html
<template id="itemtemplate">
<span>test</span>
</template>
<script type="module">
class Item extends HTMLElement {
constructor() {
let owner = document.currentScript.ownerDocument;
let template = owner.querySelector("#itemtemplate");
let clone = template.content.cloneNode(true);
let root = this.createShadowRoot();
root.appendChild(clone);
}
}
Item.prototype.createdCallback = Item.prototype.constructor;
Item = document.registerElement('x-item', Item);
</script>
и я получаю сообщение об ошибке не, ни то, что я рассчитывать на отображаться, любая идея, если это действительно должно работать?
Это как можно расширить HTMLElement в синтаксисе ECMA6?
E: положить его полностью на одной странице решает эту проблему по крайней мере, теперь я знаю, что его правильный способ создания пользовательского компонента, но проблема имея его в отдельном файле, я думаю, что он должен делать с тем, как traceur handle <link rel="import" href="x-item.html">
Я попробовал добавить атрибут type к импорту без везения.
И что вы ожидаете увидеть ... что? Вопросы, требующие помощи по отладке («** почему этот код не работает? **)) должны включать в себя желаемое поведение, * конкретную проблему или ошибку * и * кратчайший необходимый код * для воспроизведения ** в самом вопросе * *. Вопросы без ** ясного заявления о проблеме ** не полезны для других читателей. См.: [Как создать минимальный, полный и проверенный пример.] (Http://stackoverflow.com/help/mcve) –
@EdCottrell test – user1492051
«любая идея, если это действительно должно работать?» Я не думаю, что мы можем знать, пока у нас не будет соответствующей реализации обеих спецификаций. – BoltClock