我正在将应用程序从聚合物 1 转换为聚合物 3。我使用了 juicy-html,但它们尚未更新到 Polymer 3,我看到有 lit-html。我想知道如何将此代码段更改为使用 lit-html。它用于扩展字符串,例如:'Hello <span class="highlight">world</span>!'
这是我的聚合物 1 组件中的代码片段。
<template is="dom-repeat" items="[[item.snippets]]">
<template is="dom-repeat" items="[[item.matches]]">
<div><template is="juicy-html" content$="[[item.text]]"></template></div>
</template>
</template>
我需要为内部 div 实现一个新组件吗?有没有我可以看的例子?
这是生成的 Polymer 3 元素,用于在字符串中显示突出显示的文本:
从'@polymer/lit-element/lit-element.js'导入{html,LitElement};
/**
* `search-snippet-highlight`
*
*
* @customElement
* @polymer
* @demo demo/index.html
*/
class SearchSnippetHighlight extends LitElement {
static get properties() {
return {
snippet: { type: String }
};
}
render() {
return html`
<style>.highlight { background-color: yellow; }</style>
<div .innerHTML="${this.sanitizeHtml(this.snippet)}"></div>`;
}
sanitizeHtml(input) {
return input; // TODO: actually sanitize input with sanitize-html library
}
}
window.customElements.define('search-snippet-highlight', SearchSnippetHighlight);