由于客户需要对项目进行优化,提出把商品列表和商品详情的图片做成懒加载,商品列表的好办,但是商品详情是返回的一段模板字符串,经过搜索资料之后发现其实实现方式非常简单,上代码!!!
1、要注册组件
Vue.use(VueLazyload)
2、首先将模板字符串内img标签的src替换成data-src,这里有个坑就是replace不能替换原始数据
data.description = data.description.replace(/src/g, 'data-src')
3、在使用模板的标签内添加v-lazy-container="{ selector: ‘img’ }"即可
<div v-html="product.description" v-lazy-container="{ selector: 'img' }"></div>
是不是很简单?快动手试试吧!!!