Vue的属性方法里不可以使用箭头函数

222 阅读1分钟
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
</head>
<body>
    <div id="app">
        <h1 @click="add">{{msg}}</h1>
    </div>
    <script src="./vue2.6.14.js"></script>
    <script>
        new Vue({
            el:"#app",
            /* 在全局的时候使用 */
            /*  data:{
                msg:"nihao"
            } */
            /* 在使用vue组件和全局的时候都可以使用 */
            /* vue3 全部使用下面的方式  */
            /* 在vue的属性方法中不可以使用箭头函数 */
            data:function (){
                return {
                    msg:'你好'
                }
            },
            methods:{
                /* vue的属性方法中不可以使用箭头函数
                因为箭头函数返回的this指向window,
                不能指向vue实例化对象 */
                /* vue的属性方法只能使用普通函数,或者普通函数的简写方式 */
                /* add:()=>{
                    console.log(this);
                } */
                add(){
                    /* 在普通函数里面可以使用箭头函数 */
                    setTimeout(()=>{
                        console.log(this);
                    },1000)
                }
            }
        })
    </script>

</body>
</html>