vue小结

时间:2023-12-24 23:26:25

一:MVVM模型的理解

  Model:数据模型,数据和业务逻辑都在这里定义;View代表视图,负责数据的展示;ViewModel:负责监听model中数据的改变并且控制视图的更新,处理用户交互操作;Model和View无直接联系,是通过ViewModel来联系的,Model和ViewModel之间有双向数据绑定的关系,因此当model中数据改变时会触发view层的刷新,View中由于用户交互操作而改变的数据也会在Model中同步。

二:vue生命周期

vue小结

三:watch,methods,computed的区别

  官网上也有比较详细的解释:https://cn.vuejs.org/v2/api/#computed;这里加一点个人的通俗的理解,watch是监听的属性,对象有变化时才会执行,比如一进去一个组件时监听值没有变化,那依赖它的返回也不会有,而computed却依然会计算,它计算出的值会在vue实例中,computed计算属性会缓存值,即如果计算结果依赖的属性没有变化,没有导致计算结果变化就不会重新计算;methods是方法,必须要触发才会执行,也可以在vue指令中直接调用,可以带参数。

四:数据请求在生命周期的哪个阶段

  这个一般看个人项目需求,我们的项目页面一般是需要在页面加载完之前将数据准备好,这样页面渲染时数据也准备好了;但是假如请求比较大,需要先加载完页面,那就放在mounted阶段,通常在这两个阶段发数据请求比较常见。

五:数据劫持

  原文分析:https://juejin.im/entry/589ff26486b599006b3dea9b,其实就是利用对象的defineproperty,定义了每个属性的值,get和set方式,并利用观察者模式,观察每个属性的值,在get读取值得时候和set值得时候都进行劫持,获取值时做一些操作,比如改变页面的渲染显示;页面进行操作,改值,会在set里面做一些操作改变属性的值