在下面的例子中可以看出,普通函数的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>
Logo

前往低代码交流专区

更多推荐