博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何造一个迷你Vue
阅读量:7029 次
发布时间:2019-06-28

本文共 978 字,大约阅读时间需要 3 分钟。

文档

MVVM

配套插件

实现一个迷你版的vue

实现的功能

全局方法

// 继承MiniVue 产生一个新的子类构造函数MiniVue.extend// 在实例化过程完成后运行MiniVue.nextTick// 注册自定义指令MiniVue.directive// 过滤器MiniVue.filter // 组件 包括slot propsMiniVue.component// 插件MiniVue.use// 混入MiniVue.mixin复制代码

mixin filter component也可以局部注册 在new一个实例时提供以下选项即可

filterscomponentsmixin复制代码

实例方法

vm.$watchvm.$setvm.$deletevm.$onvm.$oncevm.$offvm.$emitvm.$nextTick复制代码

指令

v-textv-htmlv-showv-ifv-elsev-forv-onv-bindv-model复制代码

计算属性

计算属性用法也和Vue一样

生命周期

initcreatedbeforeCompiledcompileddestroyed复制代码

以上实现的功能用法和Vue一模一样

如何阅读源码

阅读源码要带有目的去看 不能毫无目的的去看源码 以免掉进无尽的细节陷阱中而出不来

Vue源码要怎么看呢

建议从一个Vue实例化的过程开始 一直跟踪这条主线 直到结尾为止(一定要打断点 debugger 我打了100多个断点才看懂主流程) 各种分枝暂时不要管 等把主线理解清楚了 细枝末节自然不在话下

Vue1.0模块

在Vue主线里和数据双向绑定有关的有以下几个模块

  • Vue构造函数
  • 观察者observer
  • 观察者watcher
  • 指令系统 directive类和directives指令函数集合
  • DOM解析compile
  • watcher与observer之间的联系者dep

我们来看看他们之间的关系

如果不是想自己实现一个mvvm框架 Vue的源码不用细读 只要明白主线的运行过程就行了 想要熟练使用Vue看官方文档即可
想了解主线流程的 可以看看我的v0.1版本 300行代码 完整的实现了双向数据绑定的流程 还有3条指令的实现过程 其实其他的指令即使没实现 也没什么关系 主流程明白即可

转载地址:http://rjwal.baihongyu.com/

你可能感兴趣的文章
mpvue打包没有app.json等配置文件的解决方法
查看>>
树莓派配置swoole环境
查看>>
JavaScript 工作原理之十二-网络层探秘及如何提高其性能和安全性
查看>>
搭建基于react项目的心得
查看>>
react-native踩坑记录
查看>>
HTTP API 设计入坑指南(一)
查看>>
OkHttp源码分析
查看>>
【挖坑系列】跨域问题相关
查看>>
使用cronolog切割nginx访问日志,定时清理旧日志
查看>>
PHP最常用函数TOP100(翻译)
查看>>
大数据科学新发展展望:不得不知的四大趋势
查看>>
python多线程、锁、event事件机制的简单使用
查看>>
ES6系列之解构赋值
查看>>
goLang 文件操作之二
查看>>
7大维度看国外企业为啥选择gRPC打造高性能微服务?
查看>>
HTTP协议类
查看>>
建造者模式
查看>>
【redux篇】middleware 之 redux-thunk
查看>>
数据结构---图的相关总结
查看>>
Linux平台上部署Mongoose服务器的方法介绍
查看>>