上面的使用vue+mui的有的时候this指向会发生变化,但是不想用var _this = this来把全局赋给一个变量,有没有其他方法!我用过Window,document,不行!!
2 回答

汪汪一只猫
TA贡献1898条经验 获得超8个赞
不用 that = this
的话,最好的方法就用bind
了,
understanding-javascript-function-prototype-bind
可以参考下这种写法 把setTimeout 里面的函数提出来:
var obj = {a:1};
obj.fn2 = function(){console.log(this)}
obj.fn = function(){setTimeout(this.fn2.bind(this),300)}
obj.fn() // 这里的this 就指向了obj 了

鸿蒙传说
TA贡献1865条经验 获得超7个赞
还有一个很好的办法,一般初始化Vue实例
的时候都是直接new Vue({...})
,但也可以这么写:
var app = new Vue({...});
这样在里面的数据可以通过app.data
之类的能获取到,应该说整个实例包含的内容都能获取到。
添加回答
举报
0/150
提交
取消