primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 965 B
JavaScript
"use strict";var e=require("vue"),t={name:"DeferredContent",emits:["load"],data:()=>({loaded:!1}),mounted(){this.loaded||(this.shouldLoad()?this.load():this.bindScrollListener())},beforeUnmount(){this.unbindScrollListener()},methods:{bindScrollListener(){this.documentScrollListener=()=>{this.shouldLoad()&&(this.load(),this.unbindScrollListener())},window.addEventListener("scroll",this.documentScrollListener)},unbindScrollListener(){this.documentScrollListener&&(window.removeEventListener("scroll",this.documentScrollListener),this.documentScrollListener=null)},shouldLoad(){if(this.loaded)return!1;{const e=this.$refs.container.getBoundingClientRect();return document.documentElement.clientHeight>=e.top}},load(){this.loaded=!0,this.$emit("load",event)}}};const n={ref:"container"};t.render=function(t,o,i,r,d,l){return e.openBlock(),e.createBlock("div",n,[d.loaded?e.renderSlot(t.$slots,"default",{key:0}):e.createCommentVNode("",!0)],512)},module.exports=t;