Полностью догадываясь, но давайте посмотрим, прав ли я ...
Скажем, у вас есть что-то подобное в вашем компоненте / экземпляре Vue data
инициализатор ...
data () {
return {
user: {}
}
}
и затем вы заполняете этот объект асинхронно, например,
mounted () {
setTimeout(() => { // setTimeout is just an example
this.user = {
...this.user,
area: {
name: 'foo'
}
}
}, 1000)
}
Если ваш шаблон имеет
{{ user.area.name }}
, когда он изначально отображает до , асинхронная задача завершена, вы будете пытаться получить доступ к name
свойству area
, которое не определено.
Пример ~ http://jsfiddle.net/tL1xbmoj/
Возможны следующие варианты: *
Инициализация данных со структурой, которая не вызывает ошибок
data () {
return {
user: {
area: {
name: null
}
}
}
}
Пример ~ http://jsfiddle.net/tL1xbmoj/1/
Использование условного рендеринга для предотвращения ошибки
<span v-if="user.area">{{ user.area.name }}</span>
Пример ~ http://jsfiddle.net/tL1xbmoj/2/