Lit 模板字面量表达式可以包含任何返回可渲染值的 JavaScript 表达式,如表达式文档中所述。在处理数组时,也可以使用数组的原型方法来生成可渲染值的数组。
这个示例中有一个组件,其 names 状态属性包含一个字符串数组。
使用 filter() 数组方法只保留包含字母"e"的名称,然后链式调用 map() 数组方法生成模板结果数组,放入组件的模板中。
// my-element.ts render() { return html` ⋮ <ul> ${this.names .filter((name) => name.match(/e/i)) .map((name) => html`<li>${name}</li>`)} </ul> `; } // my-element.js render() { return html` ⋮ <ul> ${this.names .filter((name) => name.match(/e/i)) .map((name) => html`<li>${name}</li>`)} </ul> `; } 像这样链式调用时使用数组方法非常方便,但它要求原始数据源必须是数组。对于非数组的可迭代对象,请考虑使用上一步中展示的 map() 指令。