交叉

QIntersection组件本质上是Intersection指令的封装,它的附加好处是它可以单独处理状态(不需要您手动添加状态),并且可以有显示/隐藏过渡效果。

但是,使用QIntersection的主要好处是,DOM树释放了隐藏的节点,因此使用了尽可能少的RAM内存,并使页面感觉非常活泼。此外,您还可以为包装器元素指定 tag 属性以满足自己的需要,从而消除另一个DOM节点。

在底层,它使用Intersection Observer API

WARNING

并非所有浏览器都支持Intersection Observer API。 大多数现代浏览器都可以,但是其他浏览器,如IE 11,却没有。 如果需要支持较旧的浏览器,则可以安装和导入(到启动文件中)官方的W3C polyfill

QIntersection API

用法

WARNING

在大多数情况下,要求将CSS应用于QIntersection元素,以便在不渲染内部内容时将其用作必要的填充符。 这将提供平滑的滚动体验,因为不这样的话滚动将会不规律地跳跃。

需要CSS的此类示例将是,例如,固定高度或至少最小高度(甚至可能是固定宽度,如下面的示例所示,可以在同一行上显示多个QIntersections)。

WARNING

如果使用transition属性,则要求将内容包裹在一个且仅一个元素中。

TIP

在某些情况下,默认viewport不起作用。例如,当您的代码托管在iframe(如Codepen)中时。这是您需要使用root属性的地方。它允许您将viewport的替代项定义为根(通过其DOM元素)。记住根必须是被观察元素的祖先。

基础




带过渡效果

在下面的示例中,我们使用了Quasar过渡。 有关完整列表,请转到过渡页面。







只有一次

但是,仅触发一次就意味着您失去了释放DOM树的好处。 无论可见性如何,内容都将保留在DOM中。




下面的示例使用了root属性,因此可以在Codepen中看到(它承载在iframe中)。