Это происходит потому, что вы входите в консоль при событии жизненного цикла created
. Журнал консоли вне вызова $once
вызывается сразу при создании компонента (когда информация о пользователе не назначена), но файл console.log внутри $once
происходит только тогда, когда событие отправлено, и, в свою очередь, переменная / данные назначены.
В соответствии с комментариями: Вы не можете просто добавить задержку и ожидать, что она сработает, поскольку она основана на срабатывании событий. Вы не предоставили нам информацию о том, когда вызывается showUserStats
, поэтому я не знаю, когда происходит это событие.
Что касается вычисленного значения, оно должно работать, поскольку оно будет обновляться при назначении пользовательской информации, но вам нужно будет добавить проверку, если это не так, что-то вроде этого:
computed: {
fullName () {
return this.userInfo ? this.userInfo.name + ' ' + this.userInfo.surname : ''
}
}
Он будет отображаться пустым, если пользовательский объект информации не был назначен (примечание: вам может потребоваться изменить проверку в зависимости от того, как вы инициализируете userInfo
переменную в данных ())