javascript - Polymer元素和AngularJS指令之间的区别是什么?

  显示原文与译文双语对照的内容

在聚合物入门页面页面上,我们看到了一个聚合的例子:


<html>
 <head>
 <!-- 1. Shim missing platform features -->
 <script src="polymer-all/platform/platform.js"></script>
 <!-- 2. Load a component -->
 <link rel="import" href="x-foo.html">
 </head>
 <body>
 <!-- 3. Declare the component by its tag. -->
 <x-foo></x-foo>
 </body>
</html>

你将看到的是 <x-foo></x-foo>platform.jsx-foo.html 定义。

这似乎等同于AngularJS中的一个指令模块:


angular.module('xfoo', [])
.controller('X-Foo', ['$scope',function($scope) {
 $scope.text = 'hey hey!';
})
.directive('x-foo', function() {
 return {
 restrict: 'EA',
 replace: true,
 controller: 'X-Foo',
 templateUrl: '/views/x-foo.html',
 link: function(scope, controller) {
 }
 };
});

  • 两者之间的区别是什么?

  • 有什么问题可以解决那些AngularJS没有或者不会解决的问题?

  • 未来是否有计划将聚合物与AngularJS结合在一起?

时间:

在光影 dom, 1 & 2 ) 聚合物部件的范围是由于它们的隐藏的树丛 这意味着他们的风格和行为不能流出。 Angular 不是应用范围限定为该特定指令你创建像一个聚合物网络组件。 Angular 指令可能与全局作用域中的某些内容冲突。 IMO的好处你将从聚合物是我解释的。 模块化的组件将作用域 css &添加到那个特定组件,而这些组件不能触摸。 无法触及的DOM !

Angular 指令可以创建,这样你就可以用几个功能来注释一个元素。 在不是这种情况的聚合物web组件中。 如果你希望合并功能的组件你包含两个组件到另一个组件( 或者将它们包装在另一个组件中) 或者你可以扩展现有的组件。 记住主要的区别仍然是每个组件都在聚合物web组件中。 你可以跨多个组件共享 css &文件,也可以将它们内联。

英镑3 ) 是,根据 Rob Dodson和 Eric Bidelman,Angular 计划在 2 + 中加入聚合物

有趣的是,这里没有人提到这个词范围。 我认为这是最重要的区别之一。

于一个app,相关的很多相似之的有很多差别,但是它们也有带来超谈到创建模块化的乐高像块的functionality. 于大量的你现在的我觉得考虑到directives,说,相关的应用程序框架和聚合物有朝一日会驻留在同一个应用程序在鼻侧的指令 Angular 将是最主要的区别在于所的范围而聚合物可以换货 但我看不出为什么 Angular 不能工作as-is并包括聚合物组件。

在他回答,阅读的答案再总结一下虽然我写下这些的时候我注意到,埃里克 Bidelman(ebidel) 做种封面 that:

"阴影DOM允许编写 HTML Fragment,但也是用来封装HTML的工具。"

给予信用,信用是由于,我有我的答案来自听在许多访谈与罗伯 Dodson埃里克 Bidelman 。 但我觉得这个答案是没有态度发布了,为这个问题的理解,他对我能有想要的域名。 这样说来,我认为我已经略微谈到了回答他正在寻找,但我决不做具备有关这个题目的信息比抢Dodson和埃里克 Bidelman

这是我收集的信息的主要来源。

JavaScript Jabber - 带 Rob Dodson和 Eric Bidelman的聚合体

商店脱口秀- 带有 Rob Dodson的网站组件

...