Я продолжаю сталкиваться с проблемой, когда я жду данных от опоры, чтобы сделать что-то внутри нее в моем созданном хуке. Он продолжает выдавать ошибки, такие как «this.value не определено» (поскольку он еще не загружен из prop)
Я исправил некоторые из этих проблем, используя v-if
и используя только при необходимости. Однако в некоторых случаях я хотел использовать эту информацию в моем созданном, и когда это происходит, я получаю ошибки и не уверен, как лучше сказать этой части созданного «ждать» данных перед запуском.
Любой совет?
-
Обновление, чтобы добавить пример кода.
На странице приложения. js, я вызов в "userInfo" и установка его в данных, например, так. Я делаю это по двум причинам. Во-первых, чтобы проверить, вошел ли пользователь в систему, а во-вторых, нашли время, чтобы сохранить информацию о пользователях, поскольку она будет использоваться позже во всем приложении. (Обратите внимание, что user и userInfo различаются и содержат разную информацию. Пользователь - это электронная почта / пароль, а userInfo - имя пользователя, биография и т. Д. c.)
data() {
return {
user: null,
userInfo: null,
}
},
created(){
//let user = firebase.auth().currentUser
firebase.auth().onAuthStateChanged((user) => {
if(user){
this.user = user
let ref = db.collection('users')
.where('user_id', '==', this.user.uid)
ref.get().then(snapshot => {
snapshot.forEach(doc => {
this.userInfo = doc.data()
})
})
} else {
this.user = null
}
})
},
Теперь я передаю эту информацию в используя V-Bind. и затем вызывать его в тех областях, где мне нужна информация, используя реквизит.
Проблема возникает, когда я хочу сделать что-то, например -
if(this.userInfo) {
value = true
}
Вызов this.userInfo выдает ошибку «this». userInfo is null "(я установил его в null в data () страницы по умолчанию).