vue里面的this指向变了,有几种能代替全局this方法?

https://img.mukewang.com/5c81f9d900014b5e06870717.jpg上面的使用vue+mui的有的时候this指向会发生变化,但是不想用var _this = this来把全局赋给一个变量,
有没有其他方法!我用过Window,document,不行!!

Smart猫小萌
浏览 5866回答 2
2回答

汪汪一只猫

不用 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  了

鸿蒙传说

还有一个很好的办法,一般初始化Vue实例的时候都是直接new Vue({...}),但也可以这么写:var app = new Vue({...});这样在里面的数据可以通过app.data之类的能获取到,应该说整个实例包含的内容都能获取到。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript