模板
将模板字面量解释为 HTML 模板,可以有效地渲染到容器并更新容器。
导入
签名
html(strings, values): TemplateResult<1>
参数
- strings
TemplateStringsArray
- values
Array<unknown>
详情
html
标签返回一个 DOM 渲染描述作为值。它很懒惰,意味着在模板渲染之前不会执行任何操作。渲染时,如果模板来自与之前渲染结果相同的表达式,则会有效地更新它而不是替换它。
一个哨兵值,它向 ChildPart 发出完全清除其内容的信号。
导入
类型
symbol
详情
建议使用 nothing
而不是其他假值,因为它在各种表达式绑定上下文中提供了一致的行为。在子表达式中,undefined
、null
、''
和 nothing
都会表现相同,并且不渲染任何节点。在属性表达式中,nothing
会删除属性,而 undefined
和 null
将渲染一个空字符串。在属性表达式中,nothing
将变为 undefined
。
将一个值(通常是 lit-html TemplateResult)渲染到容器中。
导入
签名
render(value, container, options?): RootPart
参数
- value
unknown
任何 可渲染值,通常是通过评估模板标记(如 {@linkcode html} 或 {@linkcode svg})创建的 {@linkcode TemplateResult}。
- container
HTMLElement | DocumentFragment
要渲染到的 DOM 容器。第一次渲染将渲染的值附加到容器,后续渲染如果在该处之前渲染了相同的结果类型,则会有效地更新渲染的值。
- options?
RenderOptions
有关选项文档,请参阅 {@linkcode RenderOptions}。
详情
此示例在段落标签内渲染文本“Hello, Zoe!”,并将其附加到容器 document.body
中。
将模板字面量解释为 SVG 片段,可以有效地渲染到容器并更新容器。
导入
签名
svg(strings, values): TemplateResult<2>
参数
- strings
TemplateStringsArray
- values
Array<unknown>
详情
svg
标签函数应仅用于 SVG 片段,或在 <svg>
HTML 元素内部包含的元素。常见错误是在用 svg
标签函数标记的模板中放置 <svg>
元素。<svg>
元素是 HTML 元素,应在用 html
标签函数标记的模板中使用。在 LitElement 使用中,从 render()
方法返回 SVG 片段是无效的,因为 SVG 片段将包含在元素的 Shadow Root 中,因此不能在 <svg>
HTML 元素中使用。
用于在将任何值写入 DOM 之前对其进行清理。这可以用来实现允许和不允许值的安全性策略,以防止 XSS 攻击。
导入
类型
(node: Node, name: string, type: "property" | "attribute") => ValueSanitizer
详情
使用此回调的一种方法是根据高风险字段列表检查属性和属性,并要求写入此类字段的值为按构造安全的类的实例。Closure 的安全 HTML 类型是此技术的实现方式之一( https://github.com/google/safe-html-types/blob/master/doc/safehtml-types.md)。API 仅模式下的 TrustedTypes polyfill 也可以用作此技术的依据 (https://github.com/WICG/trusted-types)。
导入
类型
TemplateResult<SVG_RESULT>
模板标记函数 html
和 svg
的返回值类型。
导入
类型
{_$litType$: T, strings: TemplateStringsArray, values: Array<unknown>}
详情
TemplateResult
对象保存渲染模板表达式所需的所有信息:模板字符串、表达式值和模板类型(html 或 svg)。TemplateResult
对象不会自行创建任何 DOM。要创建或更新 DOM,您需要渲染 TemplateResult
。有关详细信息,请参阅 渲染。