硅谷甄选笔记
Date: 2023-05-29 17:56:27
Author: Gavin
PS: 不喜欢做复制粘贴,这篇笔记只是简写关键
P1~12 Vue3 中的通信方式🎆
- props
父=>子
传的为不可变数据 - 自定义事件
子=>父
- 全局事件总线
任意组件
mitt实现 - v-model
父<=>子
写在组件标签上,实现props和自定义事件 - ref
子=>父
子组件需expose可变数据
$parent父=>子
父组件需expose可变数据 - provide & inject
父=>子=>孙
- pinia
任意组件
vue3中官方推出的任意组件通信方案,有composition & option 写法 - 插槽
父<=>子
根据需要使用不同的 slot 类型
P13~14 项目介绍
使用技术
- Vue3
- TypeScript
- Pinia
- Elment-Plus
项目开发规范工具集合
P15 eslint 校验代码工具
代码质量校验工具,配置
P16 prettier 格式化
代码风格校验工具,配置
P17 styleLInt工具
css 校验工具
P18 husky配置
git 仓库提交之前执行命令,如代码格式化等
P19 commitLint
检查git提交仓库备注信息符合规范
P20 统一包管理工具🎆
pnpm 好像是目前最好用的包安装工具,都一样
vue 项目用到的编辑设置
P21 element-plus 的集成🎆
- 自动组件按需加载,按需打包
- main.ts 使用
- 设置语言为中文
P22 src 文件别名配置
vite配置 src === @
,一般脚手架就自动配好了
P23 项目环境变量配置🎆
在vite中配置不同环境的变量,如自动请求不同的接口地址、标题等
P24 svg 图标封装和使用🎆
统一svg图标管理,使用自定义插件封装为全局组件
- 下载插件
- 在vite配置,入口引入
- 使用封装
P25 注册全局组件🎆
同名文件夹创建 index.js ,在里面引入 Vue 进行全局组件注册
P26 集成 sass
pnpm i sass -D
接口与axios的TS封装
P27 Mock 接口
使用 mockjs,我直接用 Apifox了
P28 axios 二次封装🎆
TS 封装
- 设置请求头,超时处理,开发环境请求路径判断
- 统一请求拦截器
- 统一响应拦截器,其中400错误处理
P29 API接口统一管理
写在一起,方便管理
P30 路由配置
用 vue-router@4 配置路由
- 引入方法
- 配置实现路由
- 导出
- mainjs 使用
路由配置可以拉出来个文件
手写一遍,不要再使用脚手架直接安装了,没有任何进步和意义
P31 登录静态页面
静态页面搭建
P32 模板封装登录业务🎆
- 开始使用ui写登录页面
- 用户数据存在 pinia 和 localstorage 里
- 封装 storage 方法
P33 用户仓库数据ts类型
在统一管理API页面中,定义接口请求,响应类型
不想定义也没啥
P34 登录时间判断与封装
登录后,显示欢迎语
封装为 utils 工具
P35 登录模块 表单校验🎆
登录时,对不符合格式输入进行判断
P36 自定义校验表单🎆
使用自定义规则对element表单进行校验
P37 layout组件的静态的搭建
基本页面布局的搭建
P38 Logo组件的封装
将一些参数可能的会更改的导出来
P39 左侧菜单静态的搭建🎆
左侧菜单,根据路由迭代生成
P40 elemtnt菜单图标完成🎆
图标封装好,进行使用
P41 菜单鼠标
- 将 element 图标,注册为全局组件
- 实现用路由编程式跳转
P42 全部路由配置
路由页面可拆分为组件,然后可以用 Vue 动画实现过渡效果
P43 顶部tabbar组件静态搭建与拆分
breadcrumb、setting 拆分为组件
P44 菜单折叠效果实现
每个路由组件添加 Name,方便开发者工具查看
Pinia 将 Setting 设为全局变量
,实时动态添加样式 &fold{...}
P45 顶部面包屑动态展示
使用 matchRoute 获取当前路由路径
不存在路径二级路由重定向
P46 刷新业务的实现
- refresh 的状态,用 pinia 存储。
- v-if将 Main 组件销毁重建 nextTick,重新生成
P47 全屏模式的切换
根据浏览器 Document对象 实现 F11 同样效果
P48 获取用户信息与token理解
- JWT,登录后获得TOKEN,存为 storage 和pinia,
- 在请求拦截器中添加 请求头变量
P49 退出登录业务
点击退出要实现的行为
- 发请求,使旧TOKEN失效
- pinia 清除,本地清除
- 跳到登录界面
如何再次登录重新访问,带 query 参数发到登录页,登录时进行判断,有带上
P50
P126~P127 主题颜色切换
126 实现页面的结构,对 element-plus 组件进行使用
127 使用官方定义的方法进行主题切换
P128 数据大屏的实现 vw,vh
vw,vh,或者css的 transform
.box{
width: 100vh;
height: 100vh;
}
按原型图的比例算, vw,wh
一点一点算,算的时候很麻烦
P129 数据大屏的实现 scale
css3 的 scale 缩放功能
实时计算宽高
本文作者:悠悠江水
本文链接:https://www.cnblogs.com/isgavin/p/17441598.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步