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、定时器未清除(解决:清楚定时器)