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

 

BUG的背景

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

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

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

 

BUG原因查找

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

網(wǎng)友評論