为了账号安全,请及时绑定邮箱和手机立即绑定

vue中this指向小记

标签:
Vue.js

普通函数中的的this指向取决于运行该函数的作用域,而箭头函数的this是定义时就固定了。
然而在vue中有一事不明:

<div id="app">
    <div v-on:click="onSurprise">惊喜点击</div>
    <div v-on:click="onSurprise1">惊喜点击1</div></div>
        <script>
            var app=new Vue({                el:"#app",                data:{
                    
                },                methods:{                    onSurprise:()=>{                        console.log('箭头函数的'+this)
                    },                    onSurprise1:function(){                        console.log(this)
                    }
                }
                
            })        </script>

分别点击控制台输出

webp


箭头函数绑定的是window,而运行时的函数的作用域是vue
仔细想想好像也对,函数运行时是通过'app.函数名'调用的,所以onSurprise1的this指向app,而app是vue的实例。对于箭头函数,onSurprise是在全局window下定义的,所以this指向window。



作者:fenerchen
链接:https://www.jianshu.com/p/3eabf16aee10


点击查看更多内容
2人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消