Почему инструменты разработчика Firefox считают функцию getter из Vue.js объект не определен?

#vue.js #firefox-developer-tools

#vue.js #firefox-разработчик-инструменты

Вопрос:

У меня есть объект 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 и нажав «вызвать getter» для gasLeft, gasLeft отображается как "undefined" . Но когда я набираю myCar.gasLeft , он возвращает 0.

Если я правильно понимаю, Vue.js добавляет геттеры к свойствам, которые он может, так что я на самом деле вызываю get gasLeft() функцию за кулисами. Но почему Firefox возвращает undefined , а Chrome возвращает 0? Кроме того, расширение Vue dev tool в обоих браузерах знает gasLeft , что значение равно 0.

Комментарии:

1. Что вы подразумеваете под «после подключения этого к экземпляру Vue»?

2. Итак, у меня есть мой myCar объект. В window.onload функции я делаю new Vue({el: "#main", data: {car: myCar}}) , в основном подключая объект к объекту Vue. Vue изменяет любые свойства в myCar объекте, чтобы иметь геттеры и сеттеры, а не только стандартные свойства.