VUE雙向綁定原理是前端小伙伴很難繞過的一道面試題!本篇文章對其原理進行了最大程度的精簡,希望對面試VUE開發(fā)的前端小伙伴有所幫助!我在這里將指令 v-改為z-,主要完成z-model、z-click、z-text以及z-html四個提令。
為了能夠快速讀懂代碼,首先要先弄明白以下三個概念:
1、觀察者(observer):也就是數(shù)據(jù)監(jiān)聽器,負責數(shù)據(jù)對象的所有屬性進行監(jiān)聽劫持,并將消息發(fā)送給訂閱者進行數(shù)據(jù)更新
2、訂閱者(watcher):負責接收數(shù)據(jù)的變化,更新視圖(view),數(shù)據(jù)與訂閱者是一對多的關系。
3、解析器(compile):負責對你的每個節(jié)點元素指令進行掃描和解析,負責相關指令的數(shù)據(jù)初始化及創(chuàng)造訂閱者
我們實現(xiàn)一個簡單的小功能:
html:

.js完整代碼如下,不足70行:


