TypeError: не удается прочитать свойство 'title' неопределенного " - PullRequest
1 голос
/ 25 мая 2020

пытаюсь выучить Vue. js. В основном я просто пытаюсь отобразить название комнаты. Как видите, я вижу весь массив в консоли, но не могу распечатать из него заголовок ... Есть идеи?

GetRooms. vue

<template>
    <div>
    <h1>All rooms</h1>
    <li class="py-2" v-for="room in rooms">
        {{ room.title }}
    </li>
    </div>
</template>
<script>
    export default {
        data(){
            return {
                rooms:[]
            }
        },
        mounted() {
            this.getAllRooms();
        },
        methods:{
            getAllRooms(){
                this.rooms = [];
                this.$http.get('/get-rooms').then(function (response) {
                    this.rooms = response.json();
                } , function (response) {

                })
            }
        }

    }
</script>

enter image description here

enter image description here

Vue Dev tools

Ответы [ 2 ]

0 голосов
/ 25 мая 2020

в v-for use: key также используйте ax ios, он автоматически преобразует его в json, и вам нужно сначала вызвать данные, а затем преобразовать их в формат json. используйте vue инструменты разработчика, чтобы лучше понять. кажется, что вы вызываете объект в массив, хотя это все равно должно работать. вы просто получаете массив объектов, и он должен показать вам итерацию объекта, поэтому, вероятно, неправильный HTTP-вызов

0 голосов
/ 25 мая 2020

Похоже, вы ожидаете, что rooms будет array, но это object с опорой undefined context, поэтому Vue не может найти title на undefined context, когда он перебирает rooms в v-for.

...