首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聚合物与x-tag和vanilla js的比较

聚合物与x-tag和vanilla js的比较
EN

Stack Overflow用户
提问于 2014-06-30 17:38:42
回答 2查看 1.7K关注 0票数 4

有谁能告诉我聚合物,x-tag和vanilla js之间的区别吗?

我在我的项目中使用了聚合物,但我想比较聚合物,x-tag和香草js。

EN

回答 2

Stack Overflow用户

发布于 2014-07-01 17:15:39

VanillaJS只意味着在纯JS中使用web组件,而不使用任何框架/包装器。

您必须注册您的自定义元素,自己打印出该元素并处理数据绑定。

x-tagPolymer都为web组件提供了方便且自以为是的包装器,大大减少了样板代码。

Polymer库提供了最具解密能力的方法(关于数据绑定、定义模板等)

这是使用x-tag时的样子:

代码语言:javascript
复制
xtag.register('x-accordion', {
  // extend existing elements
  extends: 'div',
  lifecycle:{
    created: function(){
      // fired once at the time a component
      // is initially created or parsed
    },
    inserted: function(){
      // fired each time a component
      // is inserted into the DOM
    },
    removed: function(){
      // fired each time an element
      // is removed from DOM
    },
    attributeChanged: function(){
      // fired when attributes are set
    }
  },
  events: {
    'click:delegate(x-toggler)': function(){
      // activate a clicked toggler
    }
  },
  accessors: {
    'togglers': {
      get: function(){
        // return all toggler children
      },
      set: function(value){
        // set the toggler children
      }
    }
  },
  methods: {
    nextToggler: function(){
      // activate the next toggler
    },
    previousToggler: function(){
      // activate the previous toggler
    }
  }
});

这是使用聚合物时的样子:

代码语言:javascript
复制
<polymer-element name="polymer-accordion" extends="div" on-click="{{toggle}}">
  <template>
    <!-- shadow DOM here -->
  </template>
  <script>
    Polymer('polymer-accordion' {
        created: function() { ... },
        ready: function() { ... },
        attached: function () { ... },
        domReady: function() { ... },
        detached: function() { ... },
        attributeChanged: function(attrName, oldVal, newVal) {
        },
        toggle : function() {....},
        get togglers() {},
        set togglers(value) {},
        nextToggler : function() {},
        previousToggler : function() {},
   });
  </script>
</polymer-element>
票数 5
EN

Stack Overflow用户

发布于 2014-08-04 17:56:11

Web组件是浏览器中的本机实现。聚合物是一个库,它在Web组件技术之上充当一个非常薄的层。X-Tag是另一个更薄的库,因为它只依赖于四种Web组件技术中的一种。

我写了一篇关于这方面的文章:http://pascalprecht.github.io/2014/07/21/polymer-vs-x-tag-here-is-the-difference/

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24487144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档