0

我遵循“聚合物快速浏览”,其中有一个部分向我们解释了如何基于数组重复元素,但它只向我们展示了如何使用模板重复器来完成它,我真的不知道它是如何工作的从后面。我尝试做自己的转发器,但 Polymer 将我的代码作为字符串注入,例如转义字符。

代码:

<dom-module id="employee-list">

<template>
    [[employe()]]
</template>

<script>

    class EmployeeList extends Polymer.Element {

      static get is () {

        return 'employee-list'

      }

      constructor () {
        super()
        this.employees = [
          {first: 'Bob', last: 'Li'},
          {first: 'Ayesha', last: 'Johnson'},
          {first: 'Fatma', last: 'Kumari'},
          {first: 'Tony', last: 'Morelli'}
        ]
      }

      employe(employees = this.employees) {

        let template = '<div>Employee List</div>'
        template += employees.map((currentEmployee, id) => {
          return  `<div>Employee ${id}, FullName : ${currentEmployee.first + ' ' + currentEmployee.last}</div>`
        })

        return template

      }


    }

    customElements.define(EmployeeList.is,EmployeeList)

</script>

</dom-module>

结果:

<div>Employee List</div><div>Employee 0, FullName : Bob Li</div>,<div>Employee 1, FullName : Ayesha Johnson</div>,<div>Employee 2, FullName : Fatma Kumari</div>,<div>Employee 3, FullName : Tony Morelli</div>

而且我想知道它是否是在 Polymer@2 中注入 unescape 字符/html 的一种形式

4

1 回答 1

0

您可以querySelector在函数中使用 a 来实现这一点

html

<template>
    <div id="employee-list"></div>
</template>

js

this.querySelector("#employee-list").innerHTML = template

正如乔丹所说,你应该使用 dom-repeat

<div> Employee list: </div>
<template is="dom-repeat" items="{{employees}}">
    <div>First name: <span>{{item.first}}</span></div>
    <div>Last name: <span>{{item.last}}</span></div>
</template>

如果您按照获取 id 的方式进行操作,则可以使用dom-repeat. 您可以使用该属性index-as来做到这一点。

<template is="dom-repeat" items="{{employees}}" index-as="id">

您可以在此处了解更多信息dom-repeathttps ://www.polymer-project.org/1.0/docs/api/dom-repeat

于 2017-05-12T23:20:13.713 回答