大家好,我是南宫,忽然发现我已经有一年没有更新博客了,今天来写一个我刚刚发现的问题。
你们有没有遇到过这种情况?
页面显示异常了,想调试,调试的时候在需要的地方加上了console.log,想输出一下当前的变量,排查结果是否正确,然后再运行,诶,这回是正常的。
但是我们都知道,console.log只是默默地输出一个值而已,并没有实质性的改变。所以我看到这个结果的时候,我就认为“这不是已经改好了吗?”然后马上注释掉这句console.log,结果再看,又不正常了。
我看到这种情况,每次都会抓狂:没改什么东西,然后就正常了,但是不改这个又不行。但是我又不能留着这个console.log,因为打包后部署的代码肯定是没有这个的,那到时候怎么办呢?
我今天突然有了个新的思考。
如果在某个地方输入了console.log,虽然时间很短很短,但是肯定是做了这个输出的事情,然后再接着执行我们的代码,说明是“等一下”以后就正常了。
那么我们如果使用除了console.log以外的方法“等一下”,再执行,是不是也会正常呢?比如我用了this.$nextTick包裹了后续的代码,再次运行的时候,发现就可以了!
把这个想法分享给大家,希望能帮到同样遇到这个问题的人。