以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这里的this 和 _self各表示什么意思?? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137213) |
-- 作者:ycwk -- 发布时间:2019/6/30 21:23:00 -- 这里的this 和 _self各表示什么意思?? (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又是何时被赋的值?
|
-- 作者:有点甜 -- 发布时间:2019/7/1 10:11:00 --
this表示组件本身,用foxtable来理解,那就是 e.sender 的意思。
|