接下来的日子里要写一个项目,就是对官网的维护,要用到vue,所以,就又把vue的知识点看了一下。
1.MVVM和MVC之间的区别:
*MVC model:数据模型 view:视图层 controlle控制器
原理:控制器层需要控制model层的数据到层
*MVVM m:model v:view vm:ViewModel
*它们之间最大的差别:
MVVM实现了view与model的自动同步,也就是model属性改变的时候,我们不需要自己手动 *** 作dom元素去改变view的显示,而是改变属性后该属性对应的view层会自动改变。
2.vue.js的2个核心:
数据驱动、组件系统。
*数据驱动:ViewModel,也就是数据的双向绑定,保证数据和视图是一致的。
*组件系统:一个页面或模块可以由多个组件组成。将常用的代码封装成组件之后,就能高度复用,提高效率,易于维护。
3.什么是vue的生命周期?
vue实例从创建到销毁的过程,就是生命周期。从开始创建、初始化数据、编译模板、挂载DOM—>渲染、更新—>渲染、销毁等一系列过程,称之为Vue的生命周期。
*beforeCreate(创建前):数据观测和初始化事件还未开始,不能访问data、computed、
watch、methods上的数据和方法;
*created(创建后):实例创建完成,但是此时渲染的节点还未挂载到DOM,所以不能访问$el属性;
*beforeMount(挂载前):相关的render函数首次被调用,但是还没有挂载到html页面上;
*mounted(挂载后):完成模板中的html渲染到html 页面中。此过程中进行ajax交互;
*beforeUpdate(更新前):响应式数据更新时调用,此时虽然响应式数据更新了,但是真实的DOM还没被渲染;
*updeated(更新后):修改的数据变化,对应的真实DOM元素也对应进行改变了;
*beforeDestroy(销毁前):实例销毁之前调用,这一部,实例仍然完全可用,this仍能获取到实例;
*destoryed(销毁后):实例销毁后调用,调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
4.computed和watch的区别:
1)computer:
*computed是计算属性,也就是计算值;
*computed具有缓存性,computed的值在getter执行后会缓存的,只有在它依赖的属性值改变之后,下一次获取computed的值时才会重新调用对用的getter来计算;
*computed适用于计算比较消耗性能的计算场景。
2)watch:
*Vue提供了一种更通用的方式来观察和响应Vue实例上的数据变动:侦听属性;
*无缓存性,页面重新渲染时值不变化会执行。
**5.
n
e
x
t
T
i
c
k
(
)
:
∗
∗
∗
t
h
i
s
.
nextTick():** *this.
nextTick():∗∗∗this.nextTick(回调函数)
*作用:在下一次DOM更新结束后执行其指定的回调
*什么时候用:当改变数据后,要基于更新后的新DOM进行某些 *** 作时,要在nextTick所指定的回调函数中执行。
this.$nextTick(){
this.$refs.inputTitle.focus()
}
有生命的种子决不会悲观、叹气,它相信有了阻力才有磨炼。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)