一花一世界,一叶一菩提

阴沉的下午莫名其妙的下起了小雪,我静静站在窗边,看着这一片片雪花如何扑湿城市的一座座高楼大厦,扑湿街上所有陌生的身影,朋友见我发呆,走过来拿走了我最后一袋咖啡。我装作没有看到,内心却久久难以平静,这就是所谓的人性吗?在数万年机械重复的生活中我们究竟变成了什么?人性为何变得如此扭曲?我简直不敢想象,朋友喝了我加了芥末粉的咖啡以后将怎么面对自己未来的人生,我想我并不知道。

回到电脑桌前面开(wu)心(liao)的敲着代码,我以为我的生活就会这么平平淡淡的进行下去,就像代码一样规规矩矩的一行一行的,然而这只是我以为,命运总是用最捉摸不定招数指引你未来的道路……而这一切也将注定生活将不再平静………………..

定义了一个input标签,双向绑定一个name属性:

觉得还不够刺激,那就再来一个计算属性checkName(跟随name):

有点感觉了呢,诡异的气氛一下子就出来了………..我为什么会写出这么蜜汁的代码…….name属性跟随用户的输入变化(或者跟随input的value变化),checkName又跟随name变化,checkName的计算过程中又改变了input的value属性,value变化又会激发name的变化…… 啊~就是这种感觉,情况变得有点不可控制了呢………….心中不免多了些小期待,等等!如果真是上面这个过程,alert应该会弹好几次(谷歌弹了3次,火狐弹了2次)~~~~哇!谷歌为什么会3次?!函数执行了一次半???

我输入的是“是啊”,依次显示的是“是啊好无聊,加点东西吧….”“是啊好无聊,加点东西吧….****”“是啊好无聊,加点东西吧….好无聊加点东西吧….” 最后输入框的内容是“是啊好无聊,加点东西吧….” why?竟然少执行了一次带*的alert,最后的结果也好蜜汁。。。。。。。如果这都算诡异还有什么,知道我遇到了火狐…………火狐的显示依次是“是啊****”“好无聊,加点东西吧….”最后输入框内容是“好无聊,加点东西吧….”what?!劳资的输入呢?!

我重新回到窗边,窗外的雪花已经瓶盖大小了,朋友也阴着脸捂着屁股(为什么不是肚子)回来了,他没有理我,我送去一个关怀的眼神就重新回到了我疑问中………….

首先这个问题我并没有解决,但是我分析出来几点:

1. Vue的变动检测也许没有那么简单,或许考虑到了这种情况(这就得去翻阅源码了,对于我这种做后台的来说闲了点说…)

2. 心疼前端,蜜汁结果…………

3. 芥末粉中不要加那么多咖啡

不知道你们有没有想到解决的办法或者说问题的原因呢?世上最远的距离不是bug就在你眼前你却不知道怎么解决,而是大神就在伯乐,你却不知道艾特谁……………好吧,那就艾谁谁吧………….

1 收藏


直接登录
最新评论
  • shooke   2017/05/05

    我也遇到了类似的问题,想当的诡异,解决方法是,尽量少用原生操作dom元素,直接操作vm里的变量就可以了,你上面的代码可以这样写

    具体原因可能是vue的双向绑定,在chrome中跟在火狐中的处理步骤有所不同导致的,chrome中好像是先处理变量后处理dom,火狐是先处理了dom后处理了变量。反正就是乱,少用dom操作,多用变量就可以了。vue的原则就是尽量处理数据,少处理dom,dom的值就用数据绑定,让vue自己去处理吧

  • 惊,2018年的我看到了这条16年双十二的文章,竟然脑补出了哈利波特在敲demo的既视感