代码之家  ›  专栏  ›  技术社区  ›  AlexBenoit

聚合物2条件属性

  •  1
  • AlexBenoit  · 技术社区  · 6 年前

    我试图找到聚合物2的条件属性信息,但只能找到聚合物1的信息。有人知道怎么做吗?

    3 回复  |  直到 6 年前
        1
  •  3
  •   tony19 steve    6 年前

    在Polymer 1.0中,属性绑定的语法为:

    <x-foo attr?="{{boolean-expression}}">
    

    在Polymer 2.0中 syntax changed 从…起 ?= $= :

    <x-foo attr$="{{boolean-expression}}">
    

    window.addEventListener('WebComponentsReady', () => {
      class XFoo extends Polymer.Element {
        static get is() { return 'x-foo'; }
        
        static get properties() {
          return {
            checked: {
              type: Boolean,
              value: false
            }
          };
        }
        
        _toggleCheck() {
          this.checked = !this.checked;
        }
      }
      customElements.define(XFoo.is, XFoo);
    });
    <head>
      <base href="https://polygit.org/polymer+v2.5.0/components/">
      <script src="webcomponentsjs/webcomponents-loader.js"></script>
      <link rel="import" href="polymer/polymer.html">
    </head>
    <body>
      <x-foo></x-foo>
    
      <dom-module id="x-foo">
        <template>
          <button on-click="_toggleCheck">Toggle check</button>
          <input type="checkbox" checked$="{{checked}}">
        </template>
      </dom-module>
    </body>
        2
  •  1
  •   Binh Bui    6 年前

    我相信你在找这个? Polymer attribute binding

    关于@tony19 answer的一些额外信息是绑定, {{value}} 用于双向绑定和 [[value]] 用于单向绑定。有趣的是 {{值}} 如果无法实现双向数据绑定,实际上会自动转换为单向绑定。

        3
  •  0
  •   Bravebox    6 年前

    在以下情况下可以使用dom: Polymer 2.0 dom-if

    或者可以使用计算方法 Observers and computed properties

    在dom repeat中的元素上,例如:

    <my-element class$="is-active-[[_isActive(item.active)]]"></my-element>
    
    _isActive(active) {
        return active ? true : false;
    }