小羊也疯狂 2018-06-28 03:11 采纳率: 100%
浏览 3963
已采纳

vue中this遇到点问题,到底能不能用箭头函数?

问题1:下面这个是由于在红圈那this改变了所以要先把指向组件实例的this保存到that吗
图片说明
问题2.
图片说明
上面这个箭头函数使this绑定到了定义时的this,也就是vue组件实例上,console.log(this)就是组件实例!
我受上面这个箭头函数的启发在下面这张图中也使用了但是为什么不成功,this不知道绑定到了什么东西上去了
图片说明
console.log(this)
图片说明
为什么不成功,绑定的是个啥?
3.这里只能用es5的方法吗?不能使用箭头函数?

  • 写回答

2条回答 默认 最新

  • 斯洛文尼亚旅游 2018-06-28 03:48
    关注

    问题1:数组的forEach中this是window,需要保存上线文
    问题2:箭头函数中的this,是定义时所在的对象,而不是使用时所在的对象。所以不需要
    问题3:widnow对象,因为你这个是json对象,vue的配置,实际还没有和vue关联,这个json对象作用域在window下,所以是window。(如果是其他对象下执行的,那就是这个对象)

    你的那个a是vue的实例变量名,没错吧。。

    
        var o = {
            watch: {
                keyword:()=> {
                    console.log(this==window)//true
                }
                ,hello:function(){
                    document.onclick=()=>{console.log(this==o.watch)}//watch这个对象
                }
            }
        }
        o.watch.keyword()
        o.watch.hello()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 SQLServer怎么录入下标
  • ¥100 无网格伽辽金方法研究裂纹扩展的程序
  • ¥15 错误于library(org.Hs.eg.db): 不存在叫‘org.Hs.eg.db’这个名称的程序包,如何解决?
  • ¥60 求一个图片处理程序,要求将图像大小跟现实生活中的大小按比例联系起来的
  • ¥50 求一位精通京东相关开发的专家
  • ¥100 求懂行的大ge给小di解答下!
  • ¥15 pcl运行在qt msvc2019环境运行效率低于visual studio 2019
  • ¥15 MAUI,Zxing扫码,华为手机没反应。可提高悬赏
  • ¥15 python运行报错 ModuleNotFoundError: No module named 'torch'
  • ¥100 华为手机私有App后台保活