Vue發(fā)布訂閱模式

2024-04-30    分類(lèi): 網(wǎng)站建設(shè)

在 Vue 的使用過(guò)程中會(huì)遇到發(fā)布與訂閱的場(chǎng)景,這樣一說(shuō)大家可能不太懂,我換一個(gè)詞“數(shù)據(jù)雙向綁定” 這樣大家是不是就懂了,但是發(fā)布訂閱是怎么實(shí)現(xiàn)的呢?接下來(lái)就由成都網(wǎng)站建設(shè)工程師來(lái)為大家講解。

我們知道 Vue 內(nèi)部是實(shí)現(xiàn)了雙向綁定機(jī)制,使得我們不用再像從前那樣還要自己操作 DOM 了。

其實(shí) Vue 的雙向綁定機(jī)制采用數(shù)據(jù)劫持結(jié)合發(fā)布/訂閱模式實(shí)現(xiàn)的:通過(guò) Object.defineProperty() 來(lái)劫持各個(gè)屬性的 setter,getter,在數(shù)據(jù)變動(dòng)時(shí)發(fā)布消息給訂閱者,觸發(fā)相應(yīng)的監(jiān)聽(tīng)回調(diào)。

我發(fā)現(xiàn)有的人把觀察者模式和發(fā)布/訂閱模式混淆一談,其實(shí)訂閱模式有一個(gè)調(diào)度中心,對(duì)訂閱事件進(jìn)行統(tǒng)一管理。而觀察者模式可以隨意注冊(cè)事件,調(diào)用事件。

一個(gè)大概的流程圖,用來(lái)說(shuō)明觀察者模式和發(fā)布/訂閱模式,如下:

成都網(wǎng)站建設(shè)

這塊我會(huì)在接下的文章中詳細(xì)講到,這里先給出一個(gè)概念,感興趣的可以自己查找資料,也可等我的文章出爐。

其實(shí)我們對(duì)這種模式再熟悉不過(guò)了,但可能你自己也沒(méi)發(fā)現(xiàn):

成都網(wǎng)站建設(shè)

可以思考下上面的事件綁定執(zhí)行的一個(gè)過(guò)程,你應(yīng)該會(huì)有共鳴。

以上關(guān)于發(fā)布與訂閱模式屬成都網(wǎng)站建設(shè)工程師的個(gè)人觀點(diǎn),大家如果對(duì)此有著不同的見(jiàn)解,可以關(guān)注公眾號(hào)“創(chuàng)新互聯(lián)派”給我留言,大家可以交流一下自己的心得體會(huì),共同學(xué)習(xí)進(jìn)步。

新聞名稱(chēng):Vue發(fā)布訂閱模式
網(wǎng)站URL:http://www.bm7419.com/news39/326789.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站策劃、企業(yè)網(wǎng)站制作品牌網(wǎng)站制作、標(biāo)簽優(yōu)化、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)