前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实现 MVVM 类 Vue 迷你框架(一)

实现 MVVM 类 Vue 迷你框架(一)

作者头像
公众号---人生代码
发布2021-04-01 11:28:02
3610
发布2021-04-01 11:28:02
举报
文章被收录于专栏:人生代码

如何实现 MVVM 类 Vue 迷你框架(一)

MVVM 框架的三大要素:

  • 数据响应式
    • 使用 Object.defineProperty 属性
    • 使用 ES6 Proxy
    • 监听数据变化,更新到视图上
  • 模板插值
    • 提供模板语法与数据绑定
    • 插值:{{ }}
    • 指令:v-bind,v-model 等等。
  • 模板渲染
    • 如果将模板转成 html
    • 将实际数据替换到模板插值中
    • 渲染
    • 模板-> vdom -> real dom

初体验响应式

代码语言:javascript
复制
function defineReactive(obj, key, value) {
 Object.defineProperty(obj, key, {
     get() {
        // 获取数据
         return obj[key]
      },
      set(newValue) {
        // 设置数据
         if(value !== newValue) {
          value = newValue
         }
      }
   })
}

测试一下数据是否被真的拦截

代码语言:javascript
复制
const obj = {};
defineReactive(obj, 'name', 'ken');
obj.foo; // name
obj.foo = 'KenNaNa'; // KenNaNa
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CryptoCode 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何实现 MVVM 类 Vue 迷你框架(一)
  • 初体验响应式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档