Vue中this指向的问题

在下面的例子中可以看出,普通函数的this指向的就是Vue的实例,this.message可以获取到data中的值,
而箭头函数的this指向了window,不能获取到值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://unpkg.com/vue@2.5.16/dist/vue.js"></script>
</head>
<body>
    <div id="app">
       <button v-on:click="getMessage">获取message的值</button> 
    </div>
    <script>
        new Vue({
            el : '#app',
            data : {
                message : "hello vue!"
            },
            methods : {
                // 箭头函数的this指向了window,其实应该指向vue的实例
                // 普通函数
                getMessage : function(){
                    // alert(this.message);
                    console.log(this);  // 指向Vue的实例
                },
                // 箭头函数
                getMessage : ()=>{
                    console.log(this);  // window
                }
            }
        })
    </script>
</body>
</html>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值