Vue (mvvm架构) 生命周期

跳至 Vue官网

跳至 dclound 出品 Vue 视频教程

vue – MVVM架构

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。

1 模型(Model)
模型是指代表真实状态内容的领域模型(面向对象),或指代表内容的数据访问层(以数据为中心)。

2 视图(View)
就像在MVC和MVP模式中一样,视图是用户在屏幕上看到的结构、布局和外观(UI)。

3 视图模型(ViewModel)
视图模型是暴露公共属性和命令的视图的抽象。MVVM没有MVC模式的控制器,也没有MVP模式的presenter,有的是一个绑定器。在视图模型中,绑定器在视图和数据绑定器之间进行通信。

4 绑定器
声明性数据和命令绑定隐含在MVVM模式中。绑定器使开发人员免于被迫编写样板式逻辑来同步视图模型和视图。

Vue的工作模式,是通过MVVM架构思想儿设计实现的。

  • 数据驱动: 数据改变驱动了视图的自动更新
  • 组件化:把整一个的网页,拆分成一个个的组件(区块),每个区块作成一个组件。网页由多个组件拼接或者嵌套组成。

    vuejs只需要改变数据,就会自动改变视图
    传统的做法是程序代码手动改变DOM来改变视图
    在Vue.js中,网页是可以看成多个组件组成。

生命周期

每一个Vue实例从创建、运行、到销毁的一次完整过程,称之为生命周期

  • 这个过程中间,伴随着各种各样的事件,称之为生命周期事件(生命周期函数、生命周期钩子)

我们了解这些函数的时机,可以帮助我们在合适的位置去编写功能代码。
比如:要获取数据的时候,应该在哪里发送请求?

vue生命周期

关键钩子函数

1 beforeCreate

Vue实例创建前,此时 data 和 methods 中的数据都还没有、没初始化

2 create

Vue实例已经创建,data 和 methods 都已经被初始化好了

3 beforeMount

html模板已经准备内存中,但未渲染到页面,此时无法进行dom操作

4 mounted

html模板已经挂载到了页面中,此时可以进行dom操作

5 beforeUpdate

当 data 数据改变的时候执行的钩子函数,此时,页面中的显示的数据,还是旧的,此时data数据是最新的,页面尚未和最新的数据保持同步

6 updated

updated事件执行的时候,页面和data数据已经保持同步了,都是最新的

7 beforeDestory

vm实例被销毁前,此时 data 和 methods 等还可用

8 destoryed

vm实例已被销毁, data 和 methods 等所有属性都已经不可用