1.计算属性computed是一个对象的时候,他有哪些选项?
有get和set俩个选项
2.computed和methods有什么区别?
计算属性具有缓存机制。 methods中的方法每使用一次方法就会被调用一次,不管里面的数据是否发生变化。而使用计算属性时,只要里面影响结果的变量没有发生变化,无论计算属性被使用多少次,函数都只会被调用一次。
3.computed是否能依赖其他组件中的数据?
可以,相当于vuex中的getters
4.watch是一个对象时他有哪些选项
deep,handler,immediate
详情看watch属性详解
5.为什么组件中的data必须是一个函数?然后return一个对象;而new vue中data 可以直接是一个对象?为什么?
组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个变了全都会变的结果。
6.怎么理解单向数据流?
数据从父级组件传递给子组件,只能单向绑定。 子组件内部不能直接修改从父级传递过来的数据。
7. vue2.0的双向绑定原理
核心原理是:object.defineProperty具体看官网
8.active-class是哪个组件的属性?
active-class 属于vue-router的样式方法
当routerlink标签被点击时将会应用这个样式
9.嵌套路由怎么定义?
具体看:vue嵌套路由
10怎么定义vue-router的动态路由
在router目录下的index.js文件中,对path属性加上/:id。
11.怎么获取动态路由传过来的参数?
使用router对象的params.id 例如 : this.$route.params.id
12.vue-router有哪几种导航钩子?导航钩子的作用是什么?
作用:vue-router提供的导航钩子主要用来拦截导航,让它完成跳转或取消。
13. vue watch和computed的使用场景
watch 监听某个数据的变化(监听完调用什么函数) 一个数据影响多个数据 (比如:浏览器自适应、监控路由对象、监控自身属性变化) computed 计算后返回新 一个数据受多个数据影响(比如:计算总价格、过滤某些数据)
computed是用来处理你使用watch和methods的时候无法处理(比如有缓存的时候监听不了数据变化),或者是处理起来并不太恰当的情况的,利用computed处理methods存在的重复计算情况
14.vue响应式原理
object.definepropty中的getter和setter对属性数据进行劫持
15.渐进式框架的理解?
哪里需要用到就用到哪里,不会用到的地方就不会用到,轻量级框架
16.localstrorege和sesstionstorege还有cookies的区别?
三者都是用来存放用户数据的
local的话是用来存放永久数据的,且页面刷新后不会丢失
sess是用来存放临时数据的页面刷新或者关闭数据就销毁了
cook是可以自定义时间的,可以定义为存储一分钟也可以一直往后面延长,理论上也就是可永久的,可临时的