1.说一说axios拦截器作用 以及应用场景
答:
首先呢axios拦截器给我们提供两个方法 这两个方法可以对请求发送之前 和响应之后进行的逻辑再次处理
这两个拦截器不需要手动触发 只要发送请求就会自动触发
我们在项目中可以通过拦截器发送token进行过期处理以及添加全局loading 以及其他的一些操作
2.说一说vue和jquery的区别
答:
首先呢jquery是用js封装的一个类库 而vue是一个框架 并且呢 它会从一个真实的dom中创建一个
虚拟的dom树结构 通过diff算法将只发生改变的dom元素进行渲染 而相同的dom元素不会重新渲染
jquery改变dom元素时 不管相同不相同都会重新渲染
3.vue中data发生改变时 视图不变如何解决
答:
data发生变化 视图不更新 是因为vue实例中的数据是响应式的 而我们新增的属性不是响应式的
由于js的限制 vue无法检测到数据的新增与删除 所以我们无法实时更新到视图上
我们可以用this.$set()方法来解决 this.$set()有三个参数 分别是 目标属性 新增属性 新增的值
4.为什么说vue中的data是一个函数
答:
如果vue中data是一个函数的话 当我们复用子组件的时候就会重新返回一个data 类似于给每个组件
创建一个数据空间 让各个组件维护自己的数据 而它如果说一个对象的话 组件就会共用一个data
就会造成一个变了 全都会变的结果
所以vue中组件的data必须是一个函数 这是js特性带来的 与vue本身设计无关
5.怎样理解单项数据流
答:
单项数据流就是父组件传给子组件 子组件没有权利进行修改父组件传递过来的数据 只能请求父组件
进行数据修改 这样会防止子组件意外改变父组件的状态 从而导致你的应用数据流向难以解释