1. 父子组件传值,子组件打印值为空问题
- 父组件数据由接口获取,传递存在延迟,子组件使用v-if判断props有值再进行渲染;
- 使用watch监听props值变化,进行渲染或进行值绑定;
2. 清除定时器
| beforeDestroy() { |
| if (this.timer) { |
| clearInterval(this.timer); |
| this.timer = null; |
| } |
| }, |
| beforeRouteLeave(to, from, next) { |
| next(); |
| if (this.timer) { |
| clearInterval(this.timer); |
| this.timer = null; |
| } |
| }, |
3. Vue package.json 依赖包版本
详细介绍
| 格式: |
| major.minor.patch |
| 主版本号.次版本号.修补版本号 |
| patch:修复bug,兼容老版本 |
| minor:新增功能,兼容老版本 |
| major:新的架构调整,不兼容老版本 |
4. vue-router路由懒加载
| |
| component: () => import( "../views/xxx.vue") |
5. 简单权限控制
| |
| { |
| path: '/governmentUserIndex', |
| name: 'GovernmentUserIndex', |
| meta: { |
| requireAuth: true |
| }, |
| beforeEnter: (to, from, next) => { |
| |
| let userType = sessionStorage.getItem("userType"); |
| if (userType != "3") next({ |
| name: 'Home' |
| }) |
| else next() |
| }, |
| component: () => import('../views/ServePlatform/Government/index.vue') |
| }, |
| |
| router.beforeEach((to, from, next) => { |
| if (to.matched.some(res => res.meta.requireAuth)) { |
| let accessToken = sessionStorage.getItem('access_token'); |
| |
| let state = tools.getQueryVariable("state"); |
| let localState = sessionStorage.getItem("state"); |
| if (accessToken && localState === state) { |
| next(); |
| } else { |
| auth.login(); |
| } |
| } else { |
| next(); |
| } |
| }); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程