Я получаю ошибку ниже. Странная часть в том, что я уверен, что данные есть, потому что в моем дополнении vue я вижу, что он успешно получает информацию из хранилища vuex. Мое первоначальное предположение состоит в том, что каким-то образом данные еще не извлекаются из хранилища, в тот момент, когда он создает шаблон?
Vue warn]: Error in render: "TypeError: Cannot read property 'length' of undefined"
Данные: 'пробелы' взяты из магазина.
export default {
name: "myspaces",
data() {
return {
filterMaxLength: 3,
selectedSpace: 0,
selectedRoom: 0
}
},
created() {
// Default selected space (first in json)
this.selectedSpace = this.spaces[0].id;
// Default selected room (first in json)
this.selectedRoom = this.spaces[0].rooms[0].id;
},
computed: {
// Get 'spaces' from store.
...mapState([
'spaces'
])
}
Шаблон:
<template>
<div>
<v-flex v-if="spaces.length < filterMaxLength">
<v-btn v-for="space in spaces">
<h4> {{space.name}} </h4>
</v-btn>
</v-flex>
</div>
<template>
В магазине:
import Vuex from 'vuex'
Vue.use(Vuex);
export default new Vuex.Store({
state: {
spaces:[
{
id:1,
name:'House in Amsterdam',
rooms:[
{
id:1,
name:'Bedroom Otto',
},
{
id:2,
name:'Bedroom Mischa'
}
]
},
{
id:2,
name:'Office in Amsterdam',
rooms:[
{
id:1,
name:'Office 1',
},
{
id:2,
name:'Office 2'
}
]
}
]} });
Добавление vue chrome говорит, что эта информация находится в компоненте: