前端 web 企业真实面试真题 13道 部分带答案(6)(20220413)

目录

1.自我介绍

2. 搭建从0到1的过程是什么? 搭建过程中遇到的问题

3. 动态路由 权限怎么处理?

4. 按钮权限是如何实现的;

5.项目中 如何实现一个对象拷贝?

6. vue 组件中 如何封装自定义指令?

7.vue 中哪个生命周期中 操作DOM?

8.项目中如何使用slot 插槽? 怎么使用?

如何封装这类组件呢?slot

slot基本使用

如何封装这类组件呢?slot

slot基本使用

9.js 中如何复制一个对象

10. ES6 指令有哪些? Promise.then()

11.如何将普通函数通过this.拿到方法?

12.防抖节流应用场景?项目中怎么使用防抖节流?

13,数组去重 如何做? 如何处理复杂数组?

适用于对整个复杂对象进行对比去重


1.自我介绍

2. 搭建从0到1的过程是什么? 搭建过程中遇到的问题

3. 动态路由 权限怎么处理?


 

思路1: 登录之后,后端根据该用户的角色查询当该用户的权限信息,这些权限信息包含的标识是和本地完整的动态路由的name是有匹配关系的。我们登录之后拿到权限标识和本地的动态路由进行匹配筛选出属于当前用户的动态路由,然后通过router.addRoutes方法,直接添加到路由实例中去

 

思路2: 登录之后,后端根据该用户的角色查询当该用户的权限信息,而这些权限信息就是该用户的动态路由,我们只需要将动态路由里面的component字段值为字符串转为真正的组件对象即可。然后通过router.addRoutes方法,直接添加到路由实例中去

 

思路3: 登录之后,后端根据该用户的角色查询当该用户的权限信息,而这些权限信息里面包含了用于可以访问的地址,我们在导航守卫中判断要去的地址是否在允许访问的地址池中,如果在就放行
 

4. 按钮权限是如何实现的;

思路:定义一个按钮,传一个值,看这个值是否在用户权限数组里面,如果在就说明有权限返回true,根据true设置禁用或者隐藏;如果不存在就说明返回返回false,根据false设置禁用或者隐藏。

5.项目中 如何实现一个对象拷贝?

问题:
做Vue 项目时因为数据双向绑定的原因,但是我这个需求,如果此对象出现数据双向绑定会出现Bug

所以采用此对象克隆方式来 防止对象中的属性数据双向绑定

说明:采用Object.assign()这个方法就讲source 对象中的 属性克隆到 target 对象中,并且 source 改变不会影响 到 target 对象

let target = {}
let source ={id:1,name="test"}
Object.assign(target,source)


 

6. vue 组件中 如何封装自定义指令?

7.vue 中哪个生命周期中 操作DOM?

vue从mounted钩子函数开始可以获取和操作dom,此前操作DOM浏览器会报错。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值