vue和js中使用Promise是箭头函数和function作为回调,this指向问题

在html中,引入vue.js
image.png

个人理解:使用function作为回调时,函数自调用,this向上找function,此时的function属于是在window中调用,所以this此时指向的window,
而使用箭头函数时,箭头函数外的this指向什么,箭头函数内部就指向什么,created也是function方法,但是是vue的方法,所以此时shi指向是vue,
问题来了,我在vue-cli中同样这样调用
image.png
箭头函数中的this指向是对的,但是function回调中的this指向的却是undefined!
我刚开始以为是vue-cli中严格模式没有关闭
image.png
但是查找问题之后发现并不是,所以不明白这两个环境中为什么相同代码this指向的差异。
望各位大佬解答!

阅读 2.3k
1 个回答

要关闭严格模式,得用babel插件才行,你这个就是开启了严格模式的表现,最简单的方法,要判断是否开启了严格模式,在你打包后的bundle中搜一下是否有'use strict',没有这个才是关闭了严格模式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题