解析vue data不可以使用箭头函数问题
(编辑:jimmy 日期: 2025/10/27 浏览:3 次 )
首先需要明确,a() {}和 b: () => {}是不同的
let obj = {
a() {},
// 相当于
a:function() {},
b: () => {}
}
1 VUE.js 源码解析
注意此处只设计核心代码
这段代码也是UMD实现原理,本文这里不是重点,有兴趣的可以自行探究。
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' "_blank" href="https://stackoverflow.com/questions/3127429/how-does-the-this-keyword-work">this指向相关
说一下本文中涉及的this指向问题,如果不是严格模式,this应该指向window,但是由于vue作者使用的是严格模式,所以他指向了undefined
以下是vue中data的实现原理
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' "htmlcode">
var obj = {
a: () => {
'use strict';
console.log(this,'a')
},
b() {
console.log(this,'b')
},
c() {
// window
let e = () => {
console.log(this,'e')
}
return e
}
}
obj.a() // window
obj.b() // obj
obj.c()() // obj
对于普通函数(非严格模式下),this指向调用者,es6中的this指向声明时的上下文环境。
结合以上两点解析今天的问题
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' "color: #ff0000">总结
以上所述是小编给大家介绍的vue data不可以使用箭头函数问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
上一篇:Vue iview-admin框架二级菜单改为三级菜单的方法
下一篇:详解Vue SPA项目优化小记