最近又踩了一個(gè)坑,本身是一個(gè)很小的問(wèn)題,但是很不容易被注意到,這個(gè)小問(wèn)題還卡了我倆小時(shí),一邊捫心自問(wèn)一邊找錯(cuò)誤,但就是沒(méi)用,以下請(qǐng)看,不喜勿噴。
在瀏覽器中,我們的數(shù)字和字符串是沒(méi)有明顯區(qū)別的,可能是顯示問(wèn)題或者自動(dòng)轉(zhuǎn)化了類(lèi)型(這我還真不清楚)
除非是console.log打印出來(lái)或者用typeOf()判斷下,否則肉眼是很難觀察出來(lái)的
。
上一篇文章為大家介紹了組件間的傳值,向大家展示了通過(guò):prop傳值來(lái)把列表項(xiàng)的每一列做成組件,現(xiàn)在我需要通過(guò)prop傳遞的’bit’的值來(lái)判斷是否顯示取消或者正常(其實(shí)這里已經(jīng)能看出來(lái)是數(shù)字了)
于是我想到了本地映射,我在組件中建立了一個(gè)對(duì)象,當(dāng)值為0的時(shí)候顯示正常,值為1的時(shí)候顯示取消,由于慣性思維,我還特意用typeof()判斷了一下bit的數(shù)據(jù)類(lèi)型,顯示是string,ok,于是我判斷這個(gè)bit的0和1是以字符串的形式傳到子組件的,所以我寫(xiě)了這玩意
按理說(shuō)應(yīng)該是可以的,但是主頁(yè)面是這樣的
我百思不得其解,0和1是字符串,我在本地映射了,那為什么不對(duì),我方法用錯(cuò)了嗎?直到我在brforeDestory()輸入了console.log(this.prop),然后得到了這玩意。
Ok笑話(huà)看完了,看看正確解決方法。
巨簡(jiǎn)單,我不想解釋?zhuān)@里錯(cuò)誤的主要原因是誤判了傳遞到子組件的數(shù)據(jù),來(lái)一張經(jīng)典圖片表達(dá)我的心情。