2

我正在聚合物 3 es6 中构建材料设计卡元素,并且希望仅<slot>在属性设置为 true 时才有标签。这是我的 js 代码:

export class ACard extends PolymerElement {
  static get is() { return 'a-card' }
  static get template() { return `


<div class="card">
  <script>
      if ([[media]]) {
          <div class$="card-image">
            <slot name="image"></slot>
          </div>
      };
  </script>
  <div class="card-stacked">
    <div class="card-content">
      <slot name="title" class="card-title"></slot>
      <slot name="text"></slot>
    </div>
    <div class$="card-action">
      <slot name="action-link"></slot>
    </div>
  </div>
</div>`


  }
  constructor() {
    super();
  }
  static get properties() {
    return {
      media: {
        type: Boolean
      }
    }

  }
}

customElements.define(ACard.is, ACard)

这是我的 index.html:

<a-card media="true">
  <img slot="image" src="">
</a-card>

因此,当 media 属性设置为truecard-image div 并返回其中的 slot 时。不得不道歉,因为我是 javascript 新手,并且在示例中可能存在严重的语法和逻辑问题。

4

1 回答 1

2

使用 Dom-if 模板

<a-card media="true">
  <template is="dom-if" if="{{media}}">
    <img slot="image" src=""/>
  </template>
</a-card>

图像只会在

媒体=真

于 2017-10-07T14:22:32.100 回答