第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

js中訂閱者和觀察者能否給一個(gè)實(shí)際開發(fā)中用例子?

js中訂閱者和觀察者能否給一個(gè)實(shí)際開發(fā)中用例子?

三國紛爭 2019-03-13 13:13:14
網(wǎng)上到處都是訂閱者和觀察者的代碼實(shí)現(xiàn),現(xiàn)在不知道什么場景,或者更簡單實(shí)際的例子說明一下問題?
查看完整描述

4 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

真實(shí)的例子——網(wǎng)站登錄

假如我們正在開發(fā)一個(gè)商城網(wǎng)站,網(wǎng)站里有 header 頭部、nav 導(dǎo)航、消息列表、購物車等模塊。


如果它們和用戶信息模塊產(chǎn)生了強(qiáng)耦合,比如下面這樣 的形式:


login.succ(function(data){

?header.setAvatar( data.avatar); // 設(shè)置 header 模塊的頭像

?nav.setAvatar( data.avatar ); // 設(shè)置導(dǎo)航模塊的頭像

?message.refresh(); // 刷新消息列表

?cart.refresh(); // 刷新購物車列表

});?

等到有一天,項(xiàng)目中又新增了一個(gè)收貨地址管理的模塊,這個(gè)模塊本來是另一個(gè)同事所寫的,在最后部分加上這行代碼:


?login.succ(function( data ){

?header.setAvatar( data.avatar);

?nav.setAvatar( data.avatar );

?message.refresh();

?cart.refresh();

?address.refresh(); // 增加這行代碼

});

我們就會(huì)越來越疲于應(yīng)付這些突如其來的業(yè)務(wù)要求,要么跳槽了事,要么必須來重構(gòu)這些代碼。

查看完整回答
反對(duì) 回復(fù) 2019-03-19
?
偶然的你

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊

比如 Vue、React 等等框架中

視圖層的輸入能影響到模型層,反之亦然,即雙向綁定

這里的 怎么影響,就是靠訂閱者觀察者,因?yàn)?nbsp;js 沒有 Java 之類語言有的反射能力,只能靠這個(gè)去做一些數(shù)據(jù)綁定的事情。


查看完整回答
反對(duì) 回復(fù) 2019-03-19
  • 4 回答
  • 0 關(guān)注
  • 486 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)