亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue源碼里依賴收集的時候 Watcher實例怎么賦值到Dep.target上的?

vue源碼里依賴收集的時候 Watcher實例怎么賦值到Dep.target上的?

溪墨潺 2019-02-01 17:38:32
看不明白怎么在initData依賴收集的時候? 怎么給這個Dep.target賦值個watcher實例的?
查看完整描述

4 回答

?
慕仔8284423

TA貢獻1條經驗 獲得超2個贊

來,咱一步步看。

首先:在執行$mount掛載的時候會調用mountComponent函數,如圖:

http://img1.sycdn.imooc.com//5e5911e10001319c06370613.jpg

找到lifecycle.js中的mountComponent函數,如圖:

http://img1.sycdn.imooc.com//5e5911e10001cd5c08680577.jpg

在mountComponent函數中,找到new Watcher(),如圖:

http://img1.sycdn.imooc.com//5e5912e000012b6005500185.jpg

接下來咱們來看Watcher類的定義中,構造函數內會調用get原型方法,在get方法中調用了pushTarget(this),這個this就是當前的渲染Watcher了,如圖:

http://img1.sycdn.imooc.com//5e5911e10001740105560657.jpg


查看完整回答
2 反對 回復 2020-02-28
  • 4 回答
  • 0 關注
  • 4509 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號