primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 1.23 kB
JavaScript
this.primevue=this.primevue||{},this.primevue.deferredcontent=function(e,t){"use strict";function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o={name:"DeferredContent",extends:n(e).default,emits:["load"],data:function(){return{loaded:!1}},mounted:function(){this.loaded||(this.shouldLoad()?this.load():this.bindScrollListener())},beforeUnmount:function(){this.unbindScrollListener()},methods:{bindScrollListener:function(){var e=this;this.documentScrollListener=function(){e.shouldLoad()&&(e.load(),e.unbindScrollListener())},window.addEventListener("scroll",this.documentScrollListener)},unbindScrollListener:function(){this.documentScrollListener&&(window.removeEventListener("scroll",this.documentScrollListener),this.documentScrollListener=null)},shouldLoad:function(){if(this.loaded)return!1;var e=this.$refs.container.getBoundingClientRect();return document.documentElement.clientHeight>=e.top},load:function(e){this.loaded=!0,this.$emit("load",e)}}};return o.render=function(e,n,o,i,r,d){return t.openBlock(),t.createElementBlock("div",t.mergeProps({ref:"container"},e.ptm("root")),[r.loaded?t.renderSlot(e.$slots,"default",{key:0}):t.createCommentVNode("",!0)],16)},o}(primevue.basecomponent,Vue);