面试题_vue

v-show和v-if区别的区别?

v-show通过display控制显示和隐藏。
v-if组件真正的渲染和销毁。

为何v-for要用key

快速查找到节点,减少渲染次数

单组件生命周期图?

挂载: beforeCreate => created => beforeMount => mounted
更新: beforeUpdate => updated
销毁: beforeDestroy => destroyed

父子组件生命周期图?

挂载时,子组件是在父组件before mount后开始挂载,子组件先mounted,父组件随后mounted。
更新时,子组件是在父组件before update后开始更新,子组件先updated,,父组件随后updated。
销毁时,子组件是在父组件before destroy后开始销毁,子组件先destroyed,父组件随后destroyed。

vue组件如何通信

1、父传子(三种):
一:单项绑定,子组件props接收值。
二:this.$parent直接获取父组件的值。
三:provide/inject 依赖注入
2、子传父(三种):
一:子组件自定义事件:this.$emit()。
二:父组件this.$children[index]直接获取子组件数据。
三:父组件this.$refs()直接获取子组件数据
3、兄弟通信(bus.js传值)

发送请求在created还是mounted?

mounted:父子组件,并且优先加载子组件的数据,那么在父组件中的请求要放到mounted中。
其他的时候都可以。

keep-alive作用?

用来缓存当前组件

什么是作用域插槽?

在solt组件中有自己的data,把它传给使用的地方

vue-router常用路由模式,区别是什么?

hash默认, histroy
区别:
1.hash路由在地址栏URL上有#。
2.刷新操作,hash路由会加载到地址栏对应的页面。

vue为何是异步渲染,$nextTick何用?

考虑性能问题,Vue会在本轮数据更新之后,再去异步更新视图。
在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM。

$route和 $router的区别是什么?

$router是一个全局路由对象,包含了路由跳转的方法、钩子函数等。
$route 是一个局部路由对象, 每一个路由都会有一个route对象。

mvvm和mvc理解 与区别?

MVVM:Model-View-ViewModel
mvc:Model-View-Controlle

vue组件中data为什么函数返回一个对象?

复用组件的时候,就会返回一份新的data,避免造成数据污染。

vue中哪些数组方法可以直接对数组修改实现视图更新?

vue数组对象修改触发视图更新:
push(); pop(); shift(); unshift() ;splice() ;sort(); reverse()

v-on可以监听多个方法吗?

v-on可以监听多个方法,但是同一种事件类型的方法,vue-cli工程会报错

vue内存溢出?

1、接口数据量巨大,渲染时占用大量内存(解决:前端分批分页展示数据)
2、v-if频繁删除dom节点(解决:离开页面时,v-if的变量设置为null)
3、代码中死循环活递归
4、定时器未清除(解决:清楚定时器)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值