ron*_*nag 28 javascript angularjs polymer
我知道以前曾经问过这个问题,最值得一提的是这里.
然而,答案在我看来相当抽象,我发现自己在实践中很困惑.
.vs答案似乎是:
Polymer(更准确地说,Shadow DOM)不仅可以构成HTML的位,还可以封装它们.这是一项全新的功能,可以与任何其他模板系统或框架一起使用,以增强其功能.
这并没有真正告诉我那么多,据我所知,角度指令在实践中几乎完全相同,尽管聚合物元素在性能方面可能更有效.我敢肯定,"封装"在这个背景下有一些更深刻的含义,我不理解.
假设我正在开发一个AngularJS Web应用程序.何时,如何以及为什么我会使用聚合物元素而不是角度指令?
是否会使用聚合物元素而不是角度指令,如果是的话,何时使用一个而不是另一个?或者角度指令是否应根据聚合物元素实施?
ebi*_*del 32
你真的在问两个不同的东西,"实现/构建组件与使用组件有什么区别?"
在可预见的未来,您将两者结合使用.无论构建Web组件的技术/库是什么,或者供应商是由什么构建的.简单bower install
(或类似)并使用对您的应用有意义的组件.
重要的是,一切都将是DOM,意味着元素将无缝地协同工作.互操作故事很棒.这是一个绑定到Polymer元素的Angular指令的POC:http://ebidel.github.io/polymer-experiments/polymer-and-angular/together/
建筑元素目前是另一回事.Polymer的方法是围绕Web组件的所有内容.Angular是在Web组件出现之前构建的,所以事情有点不同.
Angular指令是一种构建自定义标记/组件的方法.Polymer和Custom元素规范是基于标准的方法.
如何构建Polymer-element 非常具有声明性.Angular指令主要在JS中定义(具有引用模板文件的能力).
因为Polymer元素使用Custom元素,继承很简单.我不确定Angular指令中的继承故事/
聚合物元素使用Shadow DOM.这给了他们封装DOM和CSS.您在元素中定义的样式不会流出,页面样式也不会渗入.我可能错了,但Angular指令没有任何样式封装的概念.Shadow DOM规范免费提供给我们这是一个难题.
数据绑定概念类似
角度指令可以用聚合物元素来实现
最终,Angular将采用一些不断发展的Web组件标准.对于所有框架都是如此.Ember刚刚公布了他们的2014年计划,其中包括网络组件.例如,Angular.dart已经使用Shadow DOM作为指令.
默认情况下,聚合物元素(自定义元素)可与其他自定义元素互操作.这是因为它们只是DOM.DOM元素很好地协同工作:)
希望这可以帮助!
归档时间: |
|
查看次数: |
6372 次 |
最近记录: |