data/Methods 作用域问题

Youky ... 2022-10-16 前端
  • Vue
Less than 1 minute

# data/Methods 作用域问题

# 为什么能通过 this.xx 调用 methods 中的方法

初始化时会遍历传入的 methods 对象,用 bind 将其绑定到 this

# 为什么可以直接通过 this.xx 使用 data 中的变量

初始化时会遍历 data,将其属性存储到 this._data,并使用 Object.defineProperty 进行代理。

通过 this.xx 访问变量时,实际访问到的是 this._data

# 为什么 template 模板中可以直接使用变量

模板编译时,变量会用 _s() 函数进行包裹,并通过 with 语法绑定至当前作用域。

Last update: May 17, 2023 13:04
Contributors: Youky