現(xiàn)在,組件化開(kāi)發(fā)還是比較流行的,畢竟其優(yōu)點(diǎn)相當(dāng)突出。最近在開(kāi)發(fā)一個(gè)組件的時(shí)候,遇到了一個(gè)很有意思的BUG。。。

 

BUG的背景

  最近在開(kāi)發(fā)一個(gè)組件,好不容易開(kāi)發(fā)好了轉(zhuǎn)測(cè)試。然后,測(cè)試給我提了一個(gè)這樣的bug,orz...

photoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)

因?yàn)槭且粋€(gè)組件,最大的好處就是可以隨處復(fù)用,隨處使用,然而,當(dāng)一個(gè)頁(yè)面用了多個(gè)組件,只有最后一個(gè)生效的時(shí)候,這個(gè)組件就沒(méi)有什么意義了。。。

 

BUG原因查找

  這個(gè)組件的初始數(shù)據(jù)來(lái)源的接口是固定的,也就是說(shuō),頁(yè)面內(nèi)的所有這個(gè)組件在初始化的時(shí)候都會(huì)發(fā)出同樣的請(qǐng)求,這里的請(qǐng)求是jsonp的方式,所以回調(diào)函數(shù)是綁定在window上的一個(gè)函數(shù),但是在頁(yè)面中window只有一個(gè),所以在回調(diào)處理的時(shí)候,要處理的組件內(nèi)的相應(yīng)的數(shù)據(jù)只指向最后一個(gè)組件。所以導(dǎo)致多個(gè)同樣的組件在同一個(gè)頁(yè)面中,只有最后一個(gè)組件能在取得數(shù)據(jù)之后順利渲染出來(lái)。

網(wǎng)友評(píng)論