最近又踩了一个坑,本身是一个很小的问题,但是很不容易被注意到,这个小问题还卡了我俩小时,一边扪心自问一边找错误,但就是没用,以下请看,不喜勿喷。
在浏览器中,我们的数字和字符串是没有明显区别的,可能是显示问题或者自动转化了类型(这我还真不清楚)
除非是console.log打印出来或者用typeOf()判断下,否则肉眼是很难观察出来的
。
上一篇文章为大家介绍了组件间的传值,向大家展示了通过:prop传值来把列表项的每一列做成组件,现在我需要通过prop传递的’bit’的值来判断是否显示取消或者正常(其实这里已经能看出来是数字了)
于是我想到了本地映射,我在组件中建立了一个对象,当值为0的时候显示正常,值为1的时候显示取消,由于惯性思维,我还特意用typeof()判断了一下bit的数据类型,显示是string,ok,于是我判断这个bit的0和1是以字符串的形式传到子组件的,所以我写了这玩意
按理说应该是可以的,但是主页面是这样的
我百思不得其解,0和1是字符串,我在本地映射了,那为什么不对,我方法用错了吗?直到我在brforeDestory()输入了console.log(this.prop),然后得到了这玩意。
Ok笑话看完了,看看正确解决方法。
巨简单,我不想解释,这里错误的主要原因是误判了传递到子组件的数据,来一张经典图片表达我的心情。
下一篇: Vue中使用防抖与节流