现在vue如日中天,于是也凑个热闹学习一下。在学习vue的双向数据绑定的过程中,发现一个非常诡异的现象,百思不得其解,还望哪位大侠指点一下。
先看如下代码(熟悉vue的应该很好懂):
ideal
上面这段代码,原来的代码中涉及到两个只调用了一次的函数:markToken和bind,于是我将其合并到调用的地方,结果诡异的事情出现了:原来互不影响的两个input的值,现在如果改变第二个input的值竟然会影响第一个input的值!进一步测试后发现,这与将markToken函数合并无关,而只与将bind函数合并有关。
如果在Chrome控制台查看data对象的值发现,改之前其两个属性(data.hey、data.msg)的值不同,改之后这两个属性的值相同:
问题出在哪里?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这里,闭包啊,set和get里variable都指向一个了