Foxtable(狐表)用户栏目专家坐堂 → 这里的this 和 _self各表示什么意思??


  共有1993人关注过本帖树形打印复制链接

主题:这里的this 和 _self各表示什么意思??

帅哥哟,离线,有人找我吗?
ycwk
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1228 积分:8561 威望:0 精华:0 注册:2016/2/2 21:52:00
这里的this 和 _self各表示什么意思??  发帖心情 Post By:2019/6/30 21:23:00 [只看该作者]

(1)、不是在vue对象中定义的函数和变量,不能使用this调用。

如普通引用模块中定义的变量和函数。还有一致特殊的函数定义,例如下面这种在页面中定义的函数,也是不属于vue对象的函数:

define(['users/templates/【GROUP】/【PAGE】/data', 'publib/mixin/mainMixins'], function (mixin, mainMixin) {  
    var myfunc1 = function myfunc1() {  
        console.log("这是一个普通函数,不属于vue对象");  
    }  
    return {  
        mixins: [mainMixin, mixin],  
        created: function created() {  
            this.FetchData();  
        },  
        methods: {  
            FetchData: function FetchData() {  
                myfunc1();   //正确的用法
                this.myfunc1();   //不正确的用法
            },  
        },  
    };  
});  
注意看第2~4行定义的myfunc1函数是在关键字return的前面的,也就是说不属于返回的vue对象。这种函数不能使用this调用,像第13行那样使用就会出错。但是可以像第12行一样直接通过函数名称调用。这种函数也不能被其它模块通过混入引用和普通引用使用,只能在页面内被调用。

这种函数如果需要调用vue对象的数据,可以把this作为参数传入,如:     

define(['users/templates/【GROUP】/【PAGE】/data', 'publib/mixin/mainMixins'], function (mixin, mainMixin) {  
    var myfunc1 = function myfunc1(_self) {  
        console.log(_self.PublicData);  
    }  
    return {  
        mixins: [mainMixin, mixin],  
        created: function created() {  
            this.FetchData();  
        },  
        methods: {  
            FetchData: function FetchData() {  
                myfunc1(this);  
            },  
        },  
    };  
});  

以上这段代码并没有  var _self=this  那么怎么理解   如果需要调用vue对象的数据,可以把this作为参数传入 这句话的意思?    this 代表的什么?   _self又是何时被赋的值?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/7/1 10:11:00 [只看该作者]

 

this表示组件本身,用foxtable来理解,那就是 e.sender 的意思。

 

 


 回到顶部