1.什么是MVVM?
MVVM是一种设计思想 ,M相当于数据,V相当于HTML,VM就是M和V的分割者,V调用数据就是VM处理的,并且MVVM提供了数据的双向绑定.
2.什么是双向绑定及双向绑定的原理
数据发生改变,试图也会跟着进行改变,Vue实现双向绑定就是通过
Object.defineproperty()这个方法重新定义了获取属性值(get)和设置属性值(set)实现的
3.介绍一下MVVM和MVC的区别
他们都是一种设计思想,MVVM解决了MVC中大量的DOM操作,MVVM是Vue数据驱动,将数据双向绑定的思想作为核心。
4.VUE的优缺点
优点:数据的双向绑定,组件化,提高了开发效率,方便重复使用,提升了项目的可维护性,便于协同开发。
缺点:不支持低版本浏览器,不适于SEO优化
5.组件之间的传值
父组件向子组件传值可以用props,在子组件调用的时候,用V-bind将值绑定为定义的变量,在组件中直接调用
子组件向副组件传值用$emit父组件中直接调用
6.路由之间的跳转
不带参数:name和path都行,path要加/不然表示从当前路由开始
带参数:name和query 会暴露参数
name和params或path和query
可以在rouk-link标签直接拼接,也可以用事件调用 this.$router.push
接收用 this $route.query或者this $route.params
7.Vuex的安装及他的属性和使用方法
安装:npm installvuex--save
vuex中有四个属性:state getter mutation Action
state中存储数据、getter对数据进行操作,但是不会改变数据
mutation对数据进行修改,不存在异步操作、Action可以进行异步操作
获取方法: ...mapState、...mapGetter、...mapMutation、...mapAction
8.V-if和V-show
v-if是创建和销毁控制元素显示与隐藏
v-show是修改元素的css样式让其显示和隐藏
9.样式如何只在本组件生效
在本组件style标签加上Scoped
10.Vue引入组件步骤:import导入 export导出 componts里注册
11.Vue自定义指令
全局指令 Vue.directive(指令名,{callback(el){指令}}
局部指令 drectives:{指令名:{callback(el){指令}}}
el指使用指令的DOM
12.$router和$route的区别
$router是vueRouter的实例,跳转链接就是用的router(this.$router.push())
$route是跳转的路由对象,可以从里面获取name、path、params、query等
13.如何获取和重置Data里的值
this.$data和this._data都可以获取
重置所有data下的数据 object.assign(this.data,this.$options.data)
重置data下某个数据 object.assign(this.data.数据名,this.$options.data)
14.Key值的作用:为了更高效的更新虚拟DOM
15.虚拟DOM实现原理:状态更新时记录新的数据和旧数据的差异,把更新后的数据放到真正的DOM