页面的完善
大纲链接 §
[toc]
封装hooks
对 组件 或 功能 的逻辑复用
https://juejin.cn/post/6989778275526508574 | vue3 可复用&组合 - 掘金 https://www.jb51.net/article/220201.htm | Vue3 composition API实现逻辑复用的方法_vue.js_脚本之家 https://juejin.cn/post/7031929132057362446 | vue3 基础(一):可复用 & 组合 - 掘金 https://www.jianshu.com/p/e8cce33cfea9 | Vue3 composition API如何实现逻辑复用 - 简书 https://jishuin.proginn.com/p/763bfbd29a5f | vue3.0新型状态管理和逻辑复用方式-技术圈 http://xunmengren.work/2020/09/20/react-hook%E5%92%8Cvue3%E6%96%B0%E7%89%B9%E6%80%A7%E7%9A%84%E6%80%9D%E8%80%83/ | react-hook和vue3新特性的思考 | 寻梦人的个人博客 https://www.cnblogs.com/dingshaohua/p/15694553.html | vue可复用性 & 组合 - 华少丁 - 博客园 https://imbf.cc/a/01fe0c21 | 记录几个vue3 demo项目开发的问题-之间的个人博客 https://www.1024sou.com/article/418701.html | 浅析Vue CompositionAPI和React Hooks对比:hook的意义、两者差别(原理-链表/Proxy、代码执行-每次渲染都执行/组件创建时运行、声明响应式状态、如何跟踪依赖、生命周期、自定义hook、Ref获取元素、计算属性附加函数、Context和provide/inject、在渲染上下文中暴露值) - 1024搜-程序员专属的搜索引擎 https://www.zhihu.com/question/458362474 | vue3 组合式API(setup)的新特性是否会使得业务逻辑集中在一起而臃肿难以维护? - 知乎
实现头部banner
向不同方向滚动时隐藏显示和尾部信息固定
- 子组件内
BlogBody.tsx
- 声明
props
外部数据BlogBodyProps: {isSHow: Boolean}
emits
发布自定义事件['showHeaderFooter']
const main = ref();
获取节点const oldScrollTop = ref(0);
记录初始位置scrollingCB
判断滚动方向 向上滚显示 向下滚隐藏- 获取
document.documentElement.scrollTop
- 判断滚动方向
scrollTop - oldScrollTop.value
触发自定义事件 并传值- 为正
ctx.emit('showHeaderFooter', true)
- 为负
ctx.emit('showHeaderFooter', false)
- 为正
- 更新滚动位置
oldScrollTop.value = scrollTop;
- 获取
- 挂载 滚动监听
window.document.addEventListener('scroll', scrollingCB);
- 卸载 滚动监听
window.document.removeEventListener('scroll', scrollingCB);
- 声明
BlogBody.tsx
|
|
实现 分页页面切换,自动平滑滚动至顶部
src/utils/scrollToTop.ts
|
|
实现时间显示美化
封装为方法 ``
|
|
在组件中的使用
BlogIndex
|
|
https://zh.javascript.info/switch | “switch” 语句 https://wangdoc.com/javascript/features/style.html#switchcase-%E7%BB%93%E6%9E%84 | 编程风格 - JavaScript 教程 - 网道 https://developer.mozilla.org/zh-CN/docs/Web/SVG/Element/switch | switch - SVG | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch | switch - JavaScript | MDN
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/switch#%E4%BD%BF%E7%94%A8%E5%A4%9A%E5%87%86%E5%88%99_case_%E7%9A%84%E6%96%B9%E6%B3%95 | switch - JavaScript | MDN https://juejin.cn/post/6952484438789849125 | js中if 和 switch 判断语句的区别 - 掘金 https://juejin.cn/post/6854573209598033928 | Switch…case语句加范围判断 - 掘金 https://juejin.cn/post/6844903997476700174 | 精讲 JavaScript 的 “switch” 语句 - 掘金 https://juejin.cn/post/6844903758401372174 | 其实我们可以少写点if else和switch - 掘金 https://juejin.cn/post/6844904037922373639 | 你可能不知道的 TypeScript 高级技巧 - 掘金 https://its401.com/article/qq_44746132/104939982 | TypeScript:Enum枚举和泛型_一树梨花的博客-程序员ITS401_typescript 枚举 泛型 - 程序员ITS401 https://developer.51cto.com/article/639287.html | Typescript代码整洁之道-51CTO.COM https://segmentfault.com/a/1190000040817957 | 聊聊TypeScript中枚举对象(Enum) - SegmentFault 思否 https://juejin.cn/post/7071106037968797703#refetch | 万一 Github不让用了,Gitee同步指南请收好 - 掘金 https://www.imooc.com/wenda/detail/534429 | js中switch语句中case值可不可以表示一个范围_慕课猿问 https://www.zhihu.com/question/442136109 | (32 封私信 / 64 条消息) typescript中如何约束取值范围? - 知乎 https://zhuanlan.zhihu.com/p/357167292 | TypeScript 条件语句 - 知乎 https://www.it1352.com/1094905.html | 在Typescript中对子进行范围限定的问题 - IT屋-程序员软件开发技术分享社区 https://www.cnblogs.com/gaoshang212/p/15604274.html | 【Typescirpt】定义数字范围类型 - E不小心 - 博客园 https://blog.csdn.net/zhengshengnan123/article/details/90641081 | (11条消息) TypeScript中的if判断及等于的写法_shengnan_only的博客-CSDN博客_typescript 判断字符串相等 https://segmentfault.com/q/1010000013897575 | typescript 限定索引范围 - SegmentFault 思否 https://www.136.la/shida/show-385351.html | 如何在Typescript中把字母数字值转换为数值范围?_136.la https://cloud.tencent.com/developer/ask/sof/410024 | 如何限制typescript中的枚举字符串值 - 问答 - 云+社区 - 腾讯云 https://www.zhangshengrong.com/p/281oqjxbNw/ | TypeScript 中如何限制对象键名的取值范围 / 张生荣 https://segmentfault.com/a/1190000019935975 | TypeScript中高级应用与最佳实践 - SegmentFault 思否 https://www.zhihu.com/question/60168510/answer/733352978 | (32 封私信 / 62 条消息) TypeScript 的 enum 是一种错误吗? - 知乎
骨架屏
参考文章
- Vue页面跳转优化,loading中间状态和骨架屏
- Ant Design Vue Skeleton 骨架屏
- Ant Design Vue List 列表
- axios 的理解和使用 axios.create(对axios请求进行二次封装) 拦截器 取消请求(axios.CancelToken)
- 完整的Axios封装-单独API管理层、参数序列化、取消重复请求、Loading、状态码…
- page-skeleton骨架屏的实现
- Flutter 新闻客户端 - 07 Provider、认证授权、骨架屏、磁盘缓存
- Vue页面跳转优化,loading中间状态和骨架屏
一键换肤 (待实现)
参考文章
- 无
相关文章
- 无
- 作者: Joel
- 文章链接:
- 版权声明
- 非自由转载-非商用-非衍生-保持署名