2017-12-27 884 views
0

我看不出与Firefox 57的任何输出,同时期待 'HyperHtmlElement' ......简单HyperHtmlElement例子说明不了什么

<html> 
<head> 
<title>canvas element test</title> 
<meta charset='utf-8'> 
</head> 
<body> 
<g2-canvas></g2-canvas> 
<script src="https://unpkg.com/[email protected]/min.js"></script> 
<script src="https://unpkg.com/[email protected]/min.js"></script> 
<script> 
class G2Canvas extends HyperHTMLElement { 
    created() { 
     console.log('#'); 
     this.render(); 
    } 

    render() { 
     return this.html`<strong>HyperHTMLElement</strong>`; 
    } 
} 
G2Canvas.define('g2-canvas'); 
</script> 
</body> 
</html> 

...我究竟做错了..?

谢谢。

回答

0

有两个问题与您的代码:

  1. 最新HyperHTMLElement自动带来hyperHTML给你。您不需要同时包含这两个脚本,只需包含HyperHTMLELement,并可根据需要随时导入bind,wire和其他方法/实用程序。
  2. Firefox尚未发货自定义元素。你需要一个polyfill,比如document-register-element或其他。

正如您在this CodePen中看到的那样,Firefox的行为确实与Chrome或Safari类似,并且Edge也可以正常工作。

我希望我已经回答了您的问题。