首页 > 解决方案 > 为什么 Firefox 开发工具认为来自 Vue.js 对象的 getter 函数未定义?

问题描述

我有一个带有一些简单属性的 JavaScript 对象:

class Car {
  constructor(make, model, gasLeft){
    this.make = make;
    this.model = model;
    this.gasLeft = gasLeft;
  }
}

var myCar = new Car("Honda", "Accord", 0);

将其连接到 Vue 实例后,我可以打开 Google Chrome 开发工具并调用myCar.make并查看“Honda”或myCar.gasLeft查看 0。我也可以只键入myCar并查看列出的所有属性。但是,在 Firefox 的开发工具中,只需键入myCar并单击 gasLeft 的“invoke getter”即可将 gasLeft 显示为"undefined". 但是当我输入时myCar.gasLeft它确实返回 0。

如果我理解正确的话,Vue.js 会在属性中添加 getter,所以我实际上是在get gasLeft()后台调用函数。但是为什么 Firefox 会返回undefined而 Chrome 会返回 0?此外,两个浏览器中的 Vue 开发工具扩展都知道该gasLeft值为 0。

标签: vue.jsfirefox-developer-tools

解决方案


推荐阅读