前端框架中的设计模式|青训营

55 阅读1分钟

实践选题:详解前端框架中的设计模式,并对比分析优缺点以及使用案例。


MVVM简介

  • MVVM是Model-View-ViewModel的简写,即模型-视图-视图模型。MVVM 将其中View的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。其中模型指的是后端传递的数据;视图指的是所看到的页面。视图模型是mvvm模式的核心,它是连接view和model的桥梁。

  • 它有两个方向:一是将模型转化成视图,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将视图转化成模型,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。这两个方向都实现的称之为数据的双向绑定。

vue的MVVM实践原理

  1. vue作为MVVM模式实现库的技术:
  • 数据代理
  • 模板解析:通过模板动态展示数据
  • 数据绑定:更新数据,界面自动变化(数据劫持实现)
  1. 初始化界面
  • new MVVM

  • observer:监视/劫持data中所有层次的属性

  • dep:与data中的属性一一对应

  • complie:编译,解析模板({}和指令)

  • 调用update实现初始化界面

  • watcher 与表达式对应(除事件指定表达式),同时指定了更新节点的回调函数

  • 建立watcher与dep的联系,将watcher放入dep之中。subs为订阅者列表,watcher为订阅者。

  1. 当结点更新时:改变observer中的set->告知dep->通知所有相关的watcher->调用update中的回调函数更新界面