我已经在angularJS上工作了一段时间并且能够在一定程度上理解,现在我想知道新兴的web组件(http://webcomponents.org/)让我们说聚合物(https://www.polymer-project.org/0.5/),X-tags( http://www.x-tags.org/)或许多其他类似于AngularJS指令行为。
前:
myapp = angular.module("myapp", []);
myapp.directive('element', function() {
var directive = {};
directive.restrict = 'E'; /* restrict this directive to elements */
directive.template = "My first directive: {{textToInsert}}";
return directive;
});
在HTML中
<element></element>
现在是Polymer例子
HTML:
<element></paper-tabs>
JS:
<script>
var tabs = document.querySelector('element');
tabs.addEventListener('core-select', function() {
console.log("Selected: " + tabs.selected);
});
</script>
我的问题是:如果我的理解是正确的(Angular Directives与聚合物类似),如果是这样的话,当我选择AngularJS作为创建应用程序的核心框架时,我的应用程序中没有必要使用webcomponents。
答案 0 :(得分:0)
Angular Directives和Web-Components NOT 相同。
当Angular在浏览器中加载页面时,所有Angular Directive都会编译为常规HTML。
Web Components是使用ShadowDOM的实际自定义元素,以及Angular一无所知的其他几个规范。
Polymer是Sugar-coats Web-Components API的库。
这两种技术都满足了相同的需求,并且可以选择使用其中一种框架。