VUE data内 THIS 各种情况

Posted bin-purelife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VUE data内 THIS 各种情况相关的知识,希望对你有一定的参考价值。

var vm = new Vue({
        /* 在方法中,this 表示该方法所属的对象。
        如果单独使用,this 表示全局对象。
        在函数中,this 表示全局对象。
        在函数中,在严格模式下,this 是未定义的(undefined)。
        在事件中,this 表示接收事件的元素。
        类似 call() 和 apply() 方法可以将 this 引用到任何对象。
        */
        data: { 
            b: () => {
                console.log(this); 
                //window 箭头函数体中的 this 对象,是定义函数时的对象,而不是使用函数时的对象。没有 this、super、arguments 和 new.target 绑定。
                return function(){
                   return "";
                }
            },
            c: function(){
                console.log(this) //vue 在方法中,this 表示该方法所属的对象。
                return function(){
                    console.log(this) //window  回调方法写再一个回调方法内,回调方法本身不属于对象,所以this为全局得window
                    return "";     
                }
            },
            d : { a : this}, //window  如果单独使用,this 表示全局对象。
            e : {a :{ a: function(){
                console.log(this)  //observer 在方法中,this 表示该方法所属的对象。
                return ‘‘;
            }}},
            f : {a : function(){
                console.log(this) //observer 在方法中,this 表示该方法所属的对象。
                return ‘‘;
            }},
        }
    })

 

以上是关于VUE data内 THIS 各种情况的主要内容,如果未能解决你的问题,请参考以下文章

Vue中重置data的数据为初始状态

vue的data修改之后界面未改变或错乱(各种情况)

Vue组件为什么data必须是一个函数呢?本文案例详解

vue实现初始化数据

Vue--记录各种this的指向

Vue的混入和继承