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

 

BUG的背景

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

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

因為是一個組件,最大的好處就是可以隨處復用,隨處使用,然而,當一個頁面用了多個組件,只有最后一個生效的時候,這個組件就沒有什么意義了。。。

 

BUG原因查找

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

網(wǎng)友評論