目录
gitee仓库地址:https://gitee.com/CMD-UROOT/sph-project/commits/master
gitee仓库地址:https://gitee.com/CMD-UROOT/sph-project/commits/master
大家根据上传历史进行查找你需要的代码
业务需求:优化项目
图片懒加载
1.安装插件
npm i vue-lazyload -S
2.去入口文件引入插件
在main.js中:
3.使用图片懒加载
图片在我们的搜索页面中,大量使用,所以我们在该页面中,使用懒加载
在pages/Search/index.vue中:
找到图片对应的结构
改为:
你知道这里为什么用v-lazy吗,后面自定义事件里面详细讲解
这个时候我们在搜索页面刷新,页面会先加载我们设定的gif图,这里我设置的是火影忍者,之后才会加载我们本来的图
自定义事件
在src下新建一个plugins文件夹,里面在建一个myPlugins.js文件
在main.js中引入安装:
控制台:
我们只要一使用这个自定义插件,就会调用install
在src/plugins/myPlugins.js中
install不是自己调用的,是外面main.js调用的,并且还给该函数注入了一个参数Vue
我们可以测试一下:
控制台:打印Vue
那么他为什么要给该函数注入Vue呢,因为Vue.prototype,拿到他以后可以做很多事,加原型身上,组件都可以使用
我们在测试一下第二个参数:
在main.js中:
在src/plugins/myPlugins.js中
打印:
这就是为什么v-lazy能挂在组件身上,因为他增加了全局指令
在App.vue中:测试
在src/plugins/myPlugins.js中
控制台执行成功:
继续测试:
在src/plugins/myPlugins.js中
第一个参数是绑定的元素
在src/plugins/myPlugins.js中
测试第二个参数:
第二个参数是我们传入的对象
操作DOM,把上图中的value从小写的abc,变成大写的ABC
当然,第二个参数里面还有一个modifiers:是修饰符
指令也是可以加修饰符的
我们在App.vue中:
修饰符添加成功: