Проблема при извлечении данных из api axios Vue.js «Недопустимый реквизит: проверка типа не удалась для реквизита «элементы». Ожидаемый массив, функция, полученный объект»

#javascript #vue.js #vuejs2 #axios

#javascript #vue.js #vuejs2 #axios

Вопрос:

Итак, я пытаюсь извлечь данные из api в начале страницы, которая поступает в формате json, но когда я инициализирую ее в created() или mounted() Я получаю ошибку в консоли Chrome ошибка консоли chrome

BTable взят из плагина Bootstrap Vue. Вот код:

 <script>
import axios from 'axios'
export default {
    data() {
        return {
            items: [],
            fields: [ ... etc.
.
.
.
.
.


 async created() {
        try {
            const res = await axios.get('http://localhost:4040/invoices')

            this.items = res.data
        } catch (e) {
            console.error(e)
        }
    },
 

Я объявил элементы как массив, потому что хочу хранить записи там как объекты.

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

1. если res.data это не массив, то вы не можете этого сделать

2. rest.data не array проверяет сначала данные конечной точки (означает, что это объект или массив) и не предпринимает для этого никаких действий.

3. Да, я добавил [] в свой json, и теперь он работает. Спасибо

4. Спасибо за быстрый ответ. Простой, но легко ошибиться