所有分类
  • 所有分类
  • 后端开发
Vue 中 this 关键字的指向变化及默认指向解析

Vue 中 this 关键字的指向变化及默认指向解析

router的路由组件中,this指向路由组件实例。在Vue的选项API中(如data、methods、computed等),this默认指向当前组件实例,可以访问该实例的各种属性和方法。生命周期钩子函数中的this:在Vue的生命周期钩子

作为Vue程序员,我可明白这个this关键字有多重要了。这就是个Vue里的开门秘钥,能找出组件实例的各种秘密。不过用起来得小心点儿,不然它可能给你添乱,让你头大。

this在Vue选项API中的默认指向

说起Vue,用OptionAPI搭建组件时,“this”简直就是神器!就好比咱们炒菜,“this”就相当于大铲子,轻轻松松就能操作各种食材(数据)和工具(方法)。比如说,你定了个名儿叫’handleClick’的方法,那就直接用’stthis.handleClick’就能使出来这种简单直白的用法,完美体现出Vue组件开发的强大之处喔!

Vue 中 this 关键字的指向变化及默认指向解析

,这个时候,要是你还拿着this到处乱晃的话,可就要小心点儿了!因为insomecases,它可能不是你想要的那个小兄弟了。

回调函数中this的指向问题

别低估那个叫回调函数的家伙它可以改变方法中的`this`指针指向,聪明?举个例子,如果将一个方法当作回调函数给其它函数或API,那么这个方法中的`this`就找不到北有可能跑到全局对象`window`那儿去了。

咱们可以用箭头函数搞定这事儿!它不自带this,取而代之的是调用它时的this。这么一整,咱们把箭头函数用在setTimeout那儿,this就能指回这个组件咯。

还有个妙招,那就是把’this’保存在任意变量里头,比如说常用的’self’或’that’。用这个在回调函数里面就可以找出原来的’this’了。就算回调函数里的’this’乱七八糟,有了这个变量,照样能找回组件实例!

Vue生命周期钩子函数中的this

我们在Vue中使用的生命周期钩子函数,就像是个游戏过程,始终只有一个主角——那就是当前的组件实例!为什么这样?这是因为,这些钩子函数其实是Vue自己在恰当的时刻帮我们自动触发的,所以它就决定了this会指向哪一边咯。

总的说来,在生命周期钩子这事儿上,只要有了’this’就能轻松操控组件里的各种数据和方法!比方说,创建时的这个钩子,咱们就能靠它给数据打下基础或者开启某个功能~

VueRouter路由组件中的this

看好了,VueRouter里面的路由组件这个this就是固定指它自己。为啥嘞?因为这个路由组件其实都是被VueRouter当回事儿在操心的,也就是说VueRouter就是那个掌控这个组件出生、变老和死去命运的老大!

所以我们可以借助this来轻松又安全地读取和操作组件中的数据例如在带有Mounted钩子函数的路由组件中,直接使用this就能拿到路径或执行相应方法。

异步操作中this的指向问题

别忘了,在异步操作中用this得当心点!比如咱在setTimeout或setInterval里调个函数,这时候的this可能就不是咱们想要的那个了。

咋解决这个问题?其实挺简单的,要么就用箭头函数,要么就把”this”给记下来。就算“this”瞎跑了咱也不怕,毕竟还有个变量能带咱们找回家。

总结与反思

Vue里面的this其实就是操控你那个组件滴!通常情况下,它总是指着你在处理的那部分组件。可有时候它会突然换个方向,所以得留心点哈。

搞了这么些年程序猿,我对Vue里的this可是有深刻认识。说实话这东西就是双刃剑,会用就没那么多bug,要是用不好,那可就乱套了。要用this的话,得保持清醒的大脑,别出错

哈喽朋友们,谁在这里用Vue时曾遇到过this感到困惑不堪的事情?是怎么办理成功的?来评论区和我们聊聊!一起互学互助!如果这个贴子帮助到了你,别忘了给个点赞分享一下。你们的支持是我坚持写作的动力!

原文链接:https://www.icz.com/technicalinformation/web/2024/06/17435.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?