如何在滚动上延迟加载组件?

时间:2019-07-01 16:57:14

标签: angular components lazy-loading angular-components

就是这样。

我了解了如何使用rooter加载组件,但是假设我有一个带有Google地图的页脚组件。

我不希望第一次加载它,因为用户看不到它。

但是我想在某个时候加载。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

这可能会或可能不会超出您的问题范围,但是从Chrome〜75开始,将支持图像和iframe的本机延迟加载。根据Addy Osmani(在Chrome上运行)的blog post,可以通过使用loading属性启用延迟加载:

<img src="celebration.jpg" loading="lazy" alt="..." />
<iframe src="video-player.html" loading="lazy"></iframe>

我不确定何时将其发布用于生产,但是我对这个新属性感到非常兴奋,因为这将意味着我们将节省大量JavaScript / TypeScript代码,并减少对任何其他外部依赖项的需求。

尽管如此,如果您想跟踪loading属性的实现进度,请随时使用此post弹出。有很多讨论。

采用:

  

互操作性和兼容性

     

Firefox:没有公开信号

     

边缘:没有公开信号

     

Safari:一些公共支持WebKit开发人员拥有   提到苹果公司对这种功能很感兴趣,并且是   LazyLoad规范请求请求的审阅者。

     

Web开发人员:积极   向WICG上的有关延迟加载图像的线程发出信号