Как разобрать {__ob__: Observer} через for .. in ..?

Здравствуйте! Получаю json с сервера, далее записываю полученное значение в переменную и вывожу в консоль: выводит {__ob__: Observer}. Не могу разобрать это через for in и вообще хоть как-то обратиться к ключам объекта. Что это вообще такое? Спасибо.
get_details(id) {
axios.get(url
          ).then((response) => {
            console.log(response.data["detail"])
            this.details = { ...response.data["detail"] };
          }).catch((error) => {
            console.log(error);
          });

          console.log(this.details);
}
  • Вопрос задан
  • 994 просмотра
Решения вопроса 1
@Dgacarda Автор вопроса
Сделал следующем образом:
get_details(id) {
        let url = 'http://127.0.0.1:8000/api/company/' + id + '/details?detail=1';
        let are;
        axios.get(url
          ).then((response) => {
            let Observer = this.$data.__ob__.constructor;
            response.data["detail"].__ob__ = new Observer({});
            are = response.data["detail"];
            let content = {
              "id": id,
              "content": are
            };
            this.$store.dispatch('set_company_card_content', content);
            this.draw(this.$store.getters.get_company_card_content);
          }).catch((error) => {
            console.log(error);
          });
      },
      draw(value) {
        this.about_company = value[0].content.about_company;
      }


В draw() теперь можно выбирать нужные значения и использовать по назначению.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
На вопрос "что это" ответить легко: это объект-наблюдатель, который vue подсовывает вместо ваших данных.

На вопрос "как его раскукожить обратно" ответить сложнее. Придется рыться в доках по vue.
Вот здесь вроде человеческим языком описано что там внутри происходит. Возможно оптимальным вариантом будет поставить vue devtools.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы