Vue предупреждение Ошибка в data () «Ошибка типа: невозможно преобразовать неопределенный или нулевой объект» - PullRequest
0 голосов
/ 25 февраля 2020

Кто-нибудь знает, как я могу избавиться от этого предупреждения? Я думаю, это происходит, потому что я пытаюсь что-то сделать с неопределенным объектом? Любая помощь будет очень высоко ценится! Спасибо! Вот мой код:

        <v-card class="ma-3 pa-3" v-for="item in state.monitorAll[0]" v-bind:key="item.countdown">
          <v-row>
            <div class="ma-3">Minuten bis zum nächsten Halt:  <v-avatar class="ml-2 blue white--text">{{ item.departureTime.countdown }}</v-avatar></div>
            <v-avatar v-if="typeof item.vehicle == 'undefined'" class="ma-3 ml-5 green"><v-icon class="white--text">accessible</v-icon></v-avatar>
          </v-row>
        </v-card>

<script>
  import axios from 'axios'
  import {onMounted, reactive} from '@vue/composition-api'

  export default {
    name: 'App',
    setup() {
      let state = reactive({
        wlData: '',
        monitorAll: [],
      })
       async function showData() {
        let config = {
          headers: {
            'Accept': 'application/json',
            'Access-Control-Allow-Origin': 'http://localhost:8080',
            'Content-Type': 'text/plain'
          }
        }
        const wlData = await axios.get('http://localhost:8080/ogd_realtime/monitor?rbl=832', config);
        state.wlData = wlData.data.data['monitors'];
        state.monitorAll = state.wlData.map(monitor => monitor.lines[0].departures.departure);
      }

      let startLoad = onMounted(() => {
        console.log('component is mounted!');
        showData();
      })

      return {
        state,
        showData,
        startLoad,
      }
    }
  };
</script>

1 Ответ

0 голосов
/ 26 февраля 2020

Я понял это. Это был onMounting, который вызвал проблему. Я предполагаю, что это потому, что onMounting вызывается до того, как есть какое-либо значение в showData (). Я не уверена. Я удалил;

let startLoad = onMounting (() => {console.log ('компонент подключен!'); ShowData ();})

и только что вызвал showData () сразу после создания asyn c функции showData (). Я понятия не имею, почему это работает, и я думаю, что это не лучший способ справиться с этим, но по крайней мере я потерял свое предупреждение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...