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