2024-04-30 分類: 網(wǎng)站建設(shè)
在 Vue 的使用過程中會(huì)遇到發(fā)布與訂閱的場景,這樣一說大家可能不太懂,我換一個(gè)詞“數(shù)據(jù)雙向綁定” 這樣大家是不是就懂了,但是發(fā)布訂閱是怎么實(shí)現(xiàn)的呢?接下來就由成都網(wǎng)站建設(shè)工程師來為大家講解。
我們知道 Vue 內(nèi)部是實(shí)現(xiàn)了雙向綁定機(jī)制,使得我們不用再像從前那樣還要自己操作 DOM 了。
其實(shí) Vue 的雙向綁定機(jī)制采用數(shù)據(jù)劫持結(jié)合發(fā)布/訂閱模式實(shí)現(xiàn)的:通過 Object.defineProperty() 來劫持各個(gè)屬性的 setter,getter,在數(shù)據(jù)變動(dòng)時(shí)發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽回調(diào)。
我發(fā)現(xiàn)有的人把觀察者模式和發(fā)布/訂閱模式混淆一談,其實(shí)訂閱模式有一個(gè)調(diào)度中心,對(duì)訂閱事件進(jìn)行統(tǒng)一管理。而觀察者模式可以隨意注冊(cè)事件,調(diào)用事件。
一個(gè)大概的流程圖,用來說明觀察者模式和發(fā)布/訂閱模式,如下:
這塊我會(huì)在接下的文章中詳細(xì)講到,這里先給出一個(gè)概念,感興趣的可以自己查找資料,也可等我的文章出爐。
其實(shí)我們對(duì)這種模式再熟悉不過了,但可能你自己也沒發(fā)現(xiàn):
可以思考下上面的事件綁定執(zhí)行的一個(gè)過程,你應(yīng)該會(huì)有共鳴。
以上關(guān)于發(fā)布與訂閱模式屬成都網(wǎng)站建設(shè)工程師的個(gè)人觀點(diǎn),大家如果對(duì)此有著不同的見解,可以關(guān)注公眾號(hào)“創(chuàng)新互聯(lián)派”給我留言,大家可以交流一下自己的心得體會(huì),共同學(xué)習(xí)進(jìn)步。
新聞名稱:Vue發(fā)布訂閱模式
網(wǎng)站URL:http://redsoil1982.com.cn/news39/326789.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、網(wǎng)站策劃、企業(yè)網(wǎng)站制作、品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容