延迟加载闭包
可以使用 $()
函数将闭包转换为延迟加载的引用。这将生成一个 QRL<Function>
类型。QRL 是闭包的延迟加载引用。在本例中,我们已将与 onInput
事件关联的闭包提取到组件主体中。由于它不再内联,因此我们需要更改 JSX 如何引用它,从 onInput$
更改为 onInputQrl
。
请注意,我们的闭包将 store
作为闭包,该闭包由优化器捕获,然后根据需要恢复。
示例
在本例中,我们想演示在 Qwik 中延迟加载行为是多么容易。让我们延迟加载按下 Enter
键时执行的代码。将与 Enter
关联的代码用 $()
包裹以标记为延迟加载。生成的 QRL<()=>void>
然后可以使用 .invoke()
延迟调用,结果可以使用 await
关键字等待。
查看“符号”选项卡以了解代码是如何分成几部分的。
编辑教程