• 當前位置:首頁 > IT技術 > Web編程 > 正文

    使用JS如何實現雙向綁定(1)
    2021-10-11 15:03:52

    1.在ES5中給我們定義了一個Object.defineProperty方法(詳細可以參考MDN)

    Object.defineProperty()?方法會直接在一個對象上定義一個新屬性,或者修改一個對象的現有屬性,并返回此對象。

    ?注意:應當直接在 object 構造器對象上調用此方法,而不是在任意一個?Object?類型的實例上調用。

    ?語法:

    Object.defineProperty(obj, prop, descriptor)

    obj要定義屬性的對象。prop要定義或修改的屬性的名稱或 symbol 。descriptor要定義或修改的屬性描述符。

    關注重點:

    descriptor的內部給我們提供了一個get和set

    是不是和對象里屬性的 getter 函數和set函數很像,同理我們可以用這個屬性來監聽data

    我們需要了解 雙向綁定是誰對誰??

    view--data

    在更新數據的時候 同時改變dom元素,同理對dom元素的改變更新data的內部數據(可能不太準確)

    2.數據劫持

    在getter 函數和setter函數里 在調用了這個屬性的時候會觸發get和set 這時候就可對數據進行處理

    3.我們需要了解? ?什么是發布-訂閱者模式?

    ? ? 發布-訂閱模式其實是一種對象間一對多的依賴關系,當一個對象的狀態發送改變時,所有依賴于它的對象都將得到狀態改變的通知。

    實例代碼:

    ?

    本文摘自 :https://www.cnblogs.com/

    開通會員,享受整站包年服務
    国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码