首先,添加一个基本自定义指令的脚手架。创建一个继承 Directive 的类,然后通过将该类传入 directive 工厂函数来导出一个指令函数。导出的函数就是用户在模板中调用的内容。

import {directive, Directive} from 'lit/directive.js';

class TimeAgoDirective extends Directive {
}

export const timeAgo = directive(TimeAgoDirective);

接下来,每个指令都必须实现一个 render 方法。向你的类中添加一个接受 time 参数(Date 对象)的方法。目前先做一个简单版本,只返回时间的字符串形式。我们会在后续步骤中让它变得更完善。

render(time: Date) {
return time.toDateString();
}
render(time) {
return time.toDateString();
}

你还不会看到任何输出,因为我们还没有在任何地方渲染该指令。