javascript - 在聚合物中使用条件槽

标签 javascript polymer-3.x

我正在使用聚合物 3 es6 构建 Material 设计卡片元素,并且只想拥有 <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>

因此当媒体属性设置为true时返回卡片图像 div 和其中的插槽。 必须道歉,因为我是 JavaScript 新手,示例中可能存在严重的语法和逻辑问题。

最佳答案

使用 Dom-if 模板

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

图像仅在以下情况下显示

media=true

关于javascript - 在聚合物中使用条件槽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46611594/

相关文章:

javascript - 鼠标悬停事件 Lit-Element/Polymer

jquery - 如何查询选择另一个 Lit-Element 内的 Lit-Element

font-awesome - 如何在 Polymer LitElement 中使用 Font Awesome

javascript - Polymer 3 devguide "Listener on outside elements"中的事件示例引发异常

javascript - 我可以使用带有开关 1/0 的 .show() 或 .hide() 而不是 If 语句吗

javascript - 从 jquery-json 检索数据到 python

javascript - 在循环中关联按钮和单击操作

php - Javascript 表单验证不起作用?

polymer-3.x - 如何使用app-route在polymer 3中实现路由

javascript - 如何创建工具栏上没有图像的 Chrome 扩展