vue.js - 学习vue的双向数据绑定的过程中,发现JavaScript的一个非常诡异的现象
PHP中文网
PHP中文网 2017-04-11 09:20:50
[JavaScript讨论组]

现在vue如日中天,于是也凑个热闹学习一下。在学习vue的双向数据绑定的过程中,发现一个非常诡异的现象,百思不得其解,还望哪位大侠指点一下。

先看如下代码(熟悉vue的应该很好懂):



    
        ideal
        
    

    
        
        
        
    

上面这段代码,原来的代码中涉及到两个只调用了一次的函数:markToken和bind,于是我将其合并到调用的地方,结果诡异的事情出现了:原来互不影响的两个input的值,现在如果改变第二个input的值竟然会影响第一个input的值!进一步测试后发现,这与将markToken函数合并无关,而只与将bind函数合并有关。

如果在Chrome控制台查看data对象的值发现,改之前其两个属性(data.hey、data.msg)的值不同,改之后这两个属性的值相同:

问题出在哪里?

PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
PHP中文网
for (var variable in bindings) {
    // ...
}

这里,闭包啊,set和get里variable都指向一个了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号