延迟加载整个元素和子元素

时间:2018-11-05 05:20:31

标签: javascript angularjs angularjs-directive lazy-loading

我目前正在AngularJS工作,但想尽可能地坚持使用普通JS。

我正在将指令附加到模块的根div上,并通过链接功能中的$element对象访问所需的内容。我正在使用事件滚动处理和相对于视口Element.getBoundingClientRect()定位元素-我读到这效率很低,因此我正在研究Intersection Observer API,但现在我的问题是延迟加载元素。

整个模块的原因是,它可以包含<img>标签,但也可以包含其他纯文本标签,最好只是将模块整体延迟加载。而且我正在尝试使该指令具有通用性,就像您附加了该指令一样,它应该只是延迟加载任何附加的指令。

根据我所读的内容,很多延迟加载严格用于图像,并在必要时通过替换src属性,但在延迟加载整个元素时却没有读取任何内容。我知道在img与整个div上执行此操作的性能可以忽略不计,因为大部分在图片中。

如果无法执行此操作,那么我很乐意回到仅专注于图像的方式,方法是在$element中搜索此标签并进行典型的src替换(可能仅使用一个包)-只是想看看是否有一种方法可以首先在整个div部分上实现。

谢谢

编辑:我想补充一下,我已经读过一些关于人们想要延迟加载指令/控制器的信息-在我的情况下,这并不是说该指令是处理自己范围的延迟加载的指令。这是因为模块(带有伪指令的模块)将在页面上多次出现,并应处理自己的延迟加载。

0 个答案:

没有答案