![Wine image]()
@@ -32,6 +32,29 @@ export default {
type: Object,
required: true
}
+ },
+ data() {
+ return {
+ loadImage: false
+ }
+ },
+ methods: {
+ setImage(entries) {
+ const { target, isIntersecting } = entries[0];
+ if (!isIntersecting) return;
+
+ this.loadImage = true;
+ this.observer.unobserve(target);
+ }
+ },
+ created() {
+ this.observer = new IntersectionObserver(this.setImage, {
+ root: this.$el,
+ threshold: 0
+ })
+ },
+ mounted() {
+ this.observer.observe(this.$el);
}
};