Vue. js исправление asyn c установлен () запустить перед наблюдателем - PullRequest
0 голосов
/ 14 апреля 2020

Мои данные возвращаются правильно, я могу печатать {{this.point0}} или {{point1}} в шаблоне без проблем.

Но, похоже, я не могу использовать this.point0 при async mounted(), Я не уверен, что значение остается 0 или ноль, я пытаюсь создать let p0 = this.point0;, но p0 также не работает. datapresent оставьте меня без значения

Может проверьте мой код здесь https://jsfiddle.net/1eahf26q/

  props: ["breedKey", "time"],
  computed: {
    topic() {
      return this.breedKey;
    }
  },

  data() {
    return {
      point0: [],
      point1: [],
      point20: [],
    };
  },

  watch: {
   async breedKey (newVal, oldVal)  {
       try {

      var url = new URL('https://www.mustavi.com/TimeSeries/?param1=China&param2=00');
      var search_params = url.searchParams;

      search_params.set('param1', this.topic);
      search_params.set('param2', '2020-04-13');

      url.search = search_params.toString();
      var new_url = url.toString();
      console.log(new_url);
      this.promise = axios.get(new_url);
      const res = await this.promise;

      this.point0 = res.data.data[0].Freq;
      this.point1 = res.data.data[1].Freq;
      this.point20 = res.data.data[20];
   }
  },

  async mounted() {
    await this.promise;

    let p0 = this.point0;
    let p1 = this.point1;

    const datapresent = [p0, p1, this.point1,];
    const datapast = []; 
    },
})
...