加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Polymer元素和AngularJS指令有什么区别?

发布时间:2020-12-17 09:26:36 所属栏目:安全 来源:网络整理
导读:在Polymer Getting Started页面上,我们看到了一个聚合物的实例: 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
在Polymer Getting Started页面上,我们看到了一个聚合物的实例:
<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>

您会注意到的是由platform.js和x-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在未来?

你不是第一个问这个问题:)让我澄清一些事情,然后才得到你的问题。

> Polymer的webcomponents.js是一个库,其中包含多个Web应用程序下的各种W3C API的polyfills。这些是:

>自定义元素
> HTML导入
>
>阴影DOM
>指针事件
>其他

文档中的左侧导航(polymer-project.org)具有所有这些“平台技术”的页面。每个页面都有一个指向各个polyfill的指针。
>是一个HTML导入。导入是将HTML包含在其他HTML中的有用工具。您可以在导入中包含,,标记或其他任何内容。
> Nothing“links”到x-foo.html。在您的示例中,假设的自定义元素定义(例如)在x-foo.html中定义。当浏览器看到该定义时,它被注册为一个新的元素。

至问题!

Angular和Polymer之间有什么区别?

我们在我们的Q&A video中介绍了一些。通常,Polymer是一个旨在使用(并展示如何使用)Web组件的库。它的基础是自定义元素(例如,您构建的所有内容都是一个Web组件),并随着Web的发展而演变。为此,我们只支持最新版本的现代浏览器。

我将使用这个图像来描述Polymer的整个架构堆栈:

红色层:我们通过一组polyfill获得未来的web。请记住,随着浏览器采用新的API,这些库会消失。

黄色层:在一些糖与polymer.js。这一层是我们对如何使用规范的API的意见。它还添加了数据绑定,合成糖,更改观察者,已发布的属性…我们认为这些事情有助于构建基于Web组件的应用程序。

绿色:一组全面的UI组件(绿色层)仍在进行中。这些将是使用所有红色黄色层的Web组件。

角度指令vs.自定义元素?

参见Alex Russell的answer.基本上,Shadow DOM允许组合一些HTML,但也是封装该HTML的工具。这基本上是一个新的概念在网络和其他框架将利用。

聚合物解决AngularJS没有或不会有什么问题?

相似之处:声明式模板,数据绑定。

差异:Angular具有用于服务,过滤器,动画等的高级API,支持IE8,并且在这一点上,它是构建生产应用程序的更加稳健的框架。聚合物刚刚开始在alpha。

有没有计划将聚合物与AngularJS在未来?

他们是separate projects.也就是说,Angular和Ember的团队announced,他们最终会移动到在自己的框架中使用底层平台API。

^这是一个巨大的赢得IMO。在Web开发人员具有强大工具(Shadow DOM,自定义元素)的世界中,框架作者也可以利用这些原语来创建更好的框架。他们大多数目前经历了巨大的困难,“完成工作”。

更新:

有一个非常好的文章关于这个主题:“Here’s the difference between Polymer and Angular”

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读