當前位置:編程學習大全網 - 源碼下載 - vue的數據雙向綁定是怎麽實現的

vue的數據雙向綁定是怎麽實現的

vue的數據雙向綁定是通過數據劫持和發布-訂閱者功能來實現的。

實現步驟:

1.實現壹個監聽者Oberver來劫持並監聽所有的屬性,壹旦有屬性發生變化就通知訂閱者。

2.實現壹個訂閱者watcher來接受屬性變化的通知並執行相應的方法,從而更新視圖。

3.實現壹個解析器compile,可以掃描和解析每個節點的相關指令,並根據初始化模板數據以及初始化相對應的訂閱者。

觀察者模式確實很有用,但是在javascript實踐裏面,通常我們使用壹種叫做發布/訂閱模式的變體來實現觀察者模式。

從圖中也能看到,這兩種模式很相似,但是也有壹些值得註意的不同。

發布/訂閱模式使用壹個主題/事件頻道,這個頻道處於想要獲取通知的訂閱者和發起事件的發布者之間。這個事件系統允許代碼定義應用相關的事件,這個事件可以傳遞特殊的參數,參數中包含有訂閱者所需要的值。

觀察者模式和發布訂閱模式的不同點:

觀察者模式要求想要接受相關通知的觀察者必須到發起這個事件的被觀察者上註冊這個事件。

發布/訂閱模式使用壹個主題/事件頻道(類似於中介/中間商),可以減少訂閱者和發布者之間的依賴性。

發布/訂閱模式中訂閱者可以實現壹個合適的事件處理函數,用於註冊和接受由發布者廣播的相關通知。

  • 上一篇:高分求答案
  • 下一篇:Web源視圖
  • copyright 2024編程學習大全網