vue相關

vue特性,雙向數據綁定的實現原理

通過Object.defineProperty()來劫持各個屬性的setter,getter,在數據變動時發(fā)布消息給訂閱者,觸發(fā)相應的監(jiān)聽回調。
要實現mvvm的雙向綁定,就必須要實現以下幾點:
1、實現一個數據監(jiān)聽器Observer,能夠對數據對象的所有屬性進行監(jiān)聽,如有變動可拿到最新值并通知訂閱者
2、實現一個指令解析器Compile,對每個元素節(jié)點的指令進行掃描和解析,根據指令模板替換數據,以及綁定相應的更新函數
3、實現一個Watcher,作為連接Observer和Compile的橋梁,能夠訂閱并收到每個屬性變動的通知,執(zhí)行指令綁定的相應回調函數,從而更新視圖
4、mvvm入口函數,整合以上三者

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容