我知道可以通过创建指令在AngularJS中创建自定义 HTML5 元素/小部件。
我最近一直在研究Polymer。另一个使创建自定义元素变得容易的框架。但是,Polymer 使用像ShadowDOM这样的原生 HTML5 API ,而 AngularJS 没有。
注意:我只想为最新的浏览器创建自定义元素/小部件。
看起来 AngularJS 和 Polymer 都可以完成这项工作。但是这两个库的优缺点是什么?
Polymer 利用自定义元素在 HTML 中创建新元素。这是一个新的 W3C 规范被添加到浏览器中。好处是 API 是浏览器原生的,并且可能比等效的 JavaScript 库性能更高。
Angular 指令在概念上类似于自定义元素,但它们是使用自定义 JavaScript 实现的。他们不使用标准 API……在自定义元素存在之前创建。Angular 已经表示他们将在未来转向使用 Shadow DOM、自定义元素等规范。