Как связать данные из функции API в объект данных в vue.js - PullRequest
0 голосов
/ 03 декабря 2018

Я выполняю Axios.get() для API погоды, в результате я хочу отфильтровать определенные данные информации о "текущей погоде" и т. Д.

<template lang="html">
  <div id="weather">
    {{weatherData}}

  </div>
</template>

<script>
import axios from 'axios';

export default {
  data() {
    return {
      weatherData: {
        stringSummary: this.weatherApi.data.currently.summary,
      },
    };
  },
  created() {
    this.weatherApi();
  },
  methods: {
    async weatherApi() {
      axios.get('https://api.darksky.net/forecast/
      89cef1a2abe989e0d09a4ebd75f02452/53.551085,-9.993682? 
      lang=de&units=si')
      .then((response) => {
        console.log(response);
        return response;
    })
    .catch((error) => {
      console.log(error);
    });
  },
},

};
</script>

Пожалуйста, проверьте мою часть "stringSummary" внутри данных,Разве это не должно работать?

Я благодарен за любую помощь.

1 Ответ

0 голосов
/ 03 декабря 2018

Вы должны назначить weatherData в then блоке:

methods: {
  async weatherApi() {
    axios.get('https://api.darksky.net/forecast/
    89cef1a2abe989e0d09a4ebd75f02452/53.551085,-9.993682? 
    lang=de&units=si')
    .then((response) => {
      this.weatherData = {
        stringSummary: response.data.currently.summary
      }
      return response;
  })
  .catch((error) => {
    console.log(error);
  });
},
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...