延迟加载闭包

可以使用 $() 函数将闭包转换为延迟加载的引用。这将生成一个 QRL<Function> 类型。QRL 是闭包的延迟加载引用。在本例中,我们已将与 onInput 事件关联的闭包提取到组件主体中。由于它不再内联,因此我们需要更改 JSX 如何引用它,从 onInput$ 更改为 onInputQrl

请注意,我们的闭包将 store 作为闭包,该闭包由优化器捕获,然后根据需要恢复。

示例

在本例中,我们想演示在 Qwik 中延迟加载行为是多么容易。让我们延迟加载按下 Enter 键时执行的代码。将与 Enter 关联的代码用 $() 包裹以标记为延迟加载。生成的 QRL<()=>void> 然后可以使用 .invoke() 延迟调用,结果可以使用 await 关键字等待。

查看“符号”选项卡以了解代码是如何分成几部分的。

编辑教程