| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> vue3电商项目总结(2) -> 正文阅读 |
|
[JavaScript知识库]vue3电商项目总结(2) |
目录 ? ? ? ? ?3. vueuse/core-监听在元素之外点击 onClickOutside 是vue的方法库提供的方法,直接下载使用即可 1.路由组件的缓存使用的场景: 路由地址的变化:
原因:
解决方法:
解法一:给组件添加key属性
小结:类似于v-for的key ,利用diff算法计算不同,从而刷新页面,fullpath意思是路由的全地址 解法二:使用watch监听id变化重新拉取接口
小结:使用watch来监听路由的变化,注意watch的使用方法,三个参数代表的含义。 解法三: 使用
总结: key 最简单粗暴,但性能不好(因销毁重建组件浪费性能),适合对性能要求不高的情况。 watch 没有销毁重建。从更底层的方式(侦听响应式数据的变化)去切入重发请求。
?2.手写图片放大镜效果:
思路(核心问题) : 问题1:如何实现左侧遮罩的鼠标跟随效果? 1.准备待移动的遮罩容器,它是绝对定位的,通过修改它的top,left来移动它 2.实时监听鼠标的位置,让遮罩容器跟着鼠标走 问题2:如何展示放大后的效果? css属性background-size ?技术关键: 鼠标跟随效果:在@vueuse中,有一个工具方法:useMouseInElement(vue是工具库,使用vue必会)
计算相对位置 ?位置计算修正
放大效果:绝对定位 + 背景图 放大两倍: 图片本身是800 * 800; div是400 * 400; background-size:800px 800px 移动放大区域修改:background-position-x,background-position-y 3. vueuse/core-监听在元素之外点击使用场景:当打开某个组件,想在XXX之外点击,关闭组件 是什么: onClickOutside 是vue的方法库提供的方法,直接下载使用即可?怎么用:
4.loading图片优化问题:网络特别慢,有可能加载图片这个过程也比较慢,而导致整块区域白屏。 解决:将loading图转成base64编码,让它成为代码的一部分,而不是一张额外的图片。 注意事项: 需要配置10kb下的图片打包成base64的格式
5.图片懒加载是什么:懒就是延迟的意思,所以“懒加载”说白了就是延迟加载,不会一次性加载完,而是优先加载可视区域的内容,其他部分等进入了可视区域在加载 为什么: 1:网页性能优化,提升用户体验 2:减少浪费用户的流量,有些用户并不像全部看完,全部加载会耗费大量流量。 实现原理: 关键技术:?
判断公式:offsetTop-scroolTop<clientHeight,则DOM元素进入了可视区内? 总结: 一张图片就是一个<img>标签,而图片的来源主要是src属性。浏览器是否发起亲求就是根据是否有src属性决定的。在进入可视区域之前先不给<img>标签赋src属性,等到进入可视区域,将自定义属性值赋值给<img>标签 src 属性 原生js代码实现:
vue3实现: 1)安装工具包:
2)封装全局指令
3)main.js使用
4)DOM元素中使用
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/28 12:04:15- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |