当前位置: 首页 > news >正文

建设项目查询网站宿迁建设网站

建设项目查询网站,宿迁建设网站,wordpress 地方生活,小程序代码首先明确,vue2是如何实现响应式的? 通过object.defineProperty观察者模式实现,在创建vue实例的过程中,也就是介于beforecomputed~computed的过程中,会执行如下函数initState export function initState (vm: Componen…

首先明确,vue2是如何实现响应式的?
通过object.defineProperty+观察者模式实现,在创建vue实例的过程中,也就是介于beforecomputed~computed的过程中,会执行如下函数initState

export function initState (vm: Component) {vm._watchers = []const opts = vm.$optionsif (opts.props) initProps(vm, opts.props)if (opts.methods) initMethods(vm, opts.methods)if (opts.data) {initData(vm)} else {observe(vm._data = {}, true /* asRootData */)}if (opts.computed) initComputed(vm, opts.computed)if (opts.watch && opts.watch !== nativeWatch) {initWatch(vm, opts.watch)}
}

在initState中,initData做了两件事:
1.将data中的属性都挂载到vm上去,方便后面以this.xx访问data里的变量
2.则是通过observe函数对定义的data对象进行数据劫持,在observe的过程中,会判断属性是对象还是数组,
如果是对象:将对象的每个属性添加getter,setter函数,每个属性都拥有自己的一个dep实例对象(dep实例对象相当于是被观察者的一个筐,里面装了有哪些watcher在观察它);在getter方法里,会收集依赖,也就是存储watcher实例,同时watcher实例也会存储dep实例;在setter方法里,会通知这些watcher实例来更新依赖。
如果是数组:数组的话是通过增强数组七个方法的原型方法,当访问数组上面那七个方法的时候会被拦截,以此来实现响应式。

这时候你可能会问,那get方法是如何被触发的呢?
如果要触发get方法,那么说明有地方在访问这个属性,有哪些地方会访问属性并要对之做出改变呢?
答案是computed、watcher、template;
1.在初始化computed的时候,会对每一个computed属性生成一个watcher,并且会传一个参数lazy:true,表明这个watcher是惰性的;
2.在初始化watch的时候,和computed类似,只是没有传lazy参数
3.在编译模版的时候,会生成render函数,render函数执行的时候会去获取变量值,获取变量值的时候就会触发get,收集依赖。

这就对应了三个watcher,computed watcher;普通watcher;render watcher。

http://www.yayakq.cn/news/528009/

相关文章:

  • 学做网站看那个网怎样注册网店开网店
  • 网站建设怎么样wordpress账户
  • 东营企业网站排名优化移动端网站建设 新闻动态
  • 企业购物网站建设门户网站的基本功能
  • 如何建设移动端网站网站原型图怎么做
  • 西安网站制作公司怎么选台海最新24小时消息
  • 网站开发和app开发哪个难网站编程入门教程
  • html5培训网站模板wordpress根据id排序
  • 网站建设代码流程怎么做地区网站
  • 色一把做最好的网站电商网站的需求文档
  • 淘宝网站域名wordpress内容登陆后可见
  • 公司新闻做网站中国住建网查询证书
  • 深圳seo网站推广公司c 网站开发 图书下载
  • 昆明参差网站做电影网站用什么格式好
  • h5响应式网站开发成本黄页网站推广效果怎么样
  • 宁波网站建设详细方案模板wordpress怎么给产品设置分类
  • 扁平化配色方案网站长沙seo网络营销推广
  • PHP做网站的核心是什么2022今天出京入京最新通知
  • 做精美得ppt网站知乎wordpress 网络图片不显示
  • 无锡城乡建设局网站中山顺的网站建设
  • 百度对新网站排名问题做网站收入
  • 大连服务公司 网站wordpress 栏目模板
  • 放射科网站建设织梦 别人 网站 模板
  • 建筑类企业网站模板下载有域名怎么建立网站
  • seo优化网站教程百度百度推广一年要多少钱
  • 兰州工业发展建设有限公司网站网络营销案例2020
  • 门户网站建设中存在的问题k网站建设
  • 电子商务网站的主要评价指标有教你做网站和学习教程熊掌号
  • WordPress主题保存网址seo关键词
  • 好公司网站建设价格低seo课程