1、说说什么是MVVM ?
答案在之前的几篇文章中已写过,就不再重复了;链接:https://blog.youkuaiyun.com/joyvonlee/article/details/90574149
2、使用vue有什么好处?
使用vue框架,可以更好的管理和维护常用的组件,可以减少直接操作DOM的次数,让页面渲染更加高效;由于vue的设计模式,在很大程度上,可以让我们在开发中专注于业务的实现。
3、v-for中的key有什么作用?
key作为每一个DOM节点的唯一标识符,它可以更快地更新虚拟DOM。
4、vue如何深度监听一个对象?
使用deep属性,把值设置为true就可以了。
5、vue父组件如何调用子组件的方法?
通过在子组件的组件标签上添加ref属性,然后使用 this.$refs.ref的值.子组件的方法;就可以调用了,如下示例:
<template>
<child ref="refProperty"> child content </child>
</template>
<script>
created() {
this.$refs.refProperty.childMethod(); // childMethod() 是子组件里面定义的方法
}
</script>
6、为什么要用vuex?
vuex一般会在比较复杂的项目中使用,因为vuex可以更加方便地管理一个数据的状态,也方便在各组件之间获取和保存。
7、vue组件之间有哪些方式传值?
vue组件之间的传值方式有:
1、父传子:props
2、子传父:$emit
3、兄弟组件之间:新建一个中央通信,在发送的一方使用$emit进行传值,在接收的一方使用$on方法接收。
8、v-if和v-for可以一起使用吗?为什么?
可以是可以,但是不推荐,一起使用会导致性能上的下降;因为v-for比v-if具有更高的权重,所以会先解析v-for,然后在进行v-if判断,这就导致每一次循环迭代都要进行一次判断;解决方案:可以在父元素进行v-if判断,或者使用计算属性将数组进行过滤。
9、在页面来回切换之间,怎么让页面不重复发生网络请求?
可以使用keep-alive标签包裹在router-view路由出口里
10、v-if 和 v-show 的区别?
v-if在true和false两个状态切换过程中重新加载DOM和删除DOM,在性能上回多一点开销;
v-show并不会操作DOM,而是通过css来控制DOM的显示和隐藏。