Vue常见问题汇总

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(/* webpackChunkName: "xxx" */ "../views/xxx.vue")

5. 简单权限控制


// router.js
{
path: '/governmentUserIndex',
name: 'GovernmentUserIndex',
meta: {
requireAuth: true // 配置此条,进入页面前判断是否需要登陆
},
beforeEnter: (to, from, next) => {
// let accessToken = sessionStorage.getItem("access_token");
let userType = sessionStorage.getItem("userType");
if (userType != "3") next({
name: 'Home'
})
else next()
},
component: () => import('../views/ServePlatform/Government/index.vue')
},
// main.js
router.beforeEach((to, from, next) => {
if (to.matched.some(res => res.meta.requireAuth)) { // 判断该路由是否需要登录权限
let accessToken = sessionStorage.getItem('access_token');
//判断state防止CSRF攻击
let state = tools.getQueryVariable("state");
let localState = sessionStorage.getItem("state");
if (accessToken && localState === state) { // 查询本地存储信息是否已经登陆
next();
} else {
auth.login();
}
} else {
next();
}
});
posted @   Li_pk  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示