本教程将介绍如何创建自定义异步指令,这是 Lit 中用于构建模板辅助工具的强大功能。
标准指令是有状态的模板辅助工具,可以访问与其在模板中位置相关联的底层 DOM。异步指令扩展了指令的 API 和生命周期,允许指令异步更新其渲染结果,并在指令不再使用时清理所有订阅。
DirectiveAsyncDirective 提供的额外指令 APIsetValue 异步更新指令的值disconnected() 回调中执行清理工作reconnected() 回调同样重要你将创建一个 timeAgo(date) 指令,它接受一个 JavaScript Date 对象,并渲染一个人类可读的字符串来显示已经过去的时间。该指令会定期重新渲染其值,以便字符串始终反映已过去的时间。之后我们可以在多种场景中使用该指令。
我们假设你对 Lit 中的指令有基本的了解。如果需要,请在开始之前先熟悉指令概念。