Я создаю приложение, и в этом приложении у меня есть страница профиля. На этой странице профиля я хочу показать информацию о текущем пользователе, такую как имя, имя пользователя, ... Я создал функцию firestore()
, которая получает коллекцию пользователя через пользовательский uid (потому что моя коллекция пользователейтак же, как имя пользователя UID). Когда я запускаю свое приложение, ничего не появляется, и когда я хочу обновить имя или имя пользователя, введя некоторый текст во входные данные, у меня возникает ошибка. Эта ошибка говорит мне, что:
[Vue warn]: Error in v-on handler: "TypeError: Cannot read property 'profile' of undefined"
found in
---> <Profile> at popup/components/profile/extension_userAccount.vue
<ExtensionMainComponent> at popup/components/extension_mainComponent.vue
<App> at popup/App.vue
<Root>
TypeError: Cannot read property 'profile' of undefined
at VueComponent.updateProfile (extension_userAccount.vue?../node_modules/babel-loader/lib!../node_modules/vue-loader/lib??vue-loader-options:258)
at invokeWithErrorHandling (vue.runtime.esm.js:1853)
at HTMLButtonElement.invoker (vue.runtime.esm.js:2178)
at HTMLButtonElement.original._wrapper (vue.runtime.esm.js:6901)
Но когда я console.log
массив профиля, у меня отображается вся моя информация.
Есть моя account.vue
страница:
<div>
<h3>Name</h3>
<input type="text" v-model="profile.name">
</div>
<div>
<h3>Username</h3>
<input type="text" v-model="profile.username">
</div>
<button @click="updateProfile">Modify</button>
<script>
import {fb,db} from '../../firebase/init'
export default {
name: "profile",
data() {
return {
profile: {
name: null,
username: null
}
}
},
firestore(){
const user = fb.auth().currentUser;
return {
profile: db.collection('users').doc(user.uid),
}
},
methods:
updateProfile() {
this.$firestore.profile.update(this.profile);
}
}
}
</script>
И есть моя firebaseInit.js
:
import * as firebase from "firebase/app";
import "firebase/firebase-auth";
import "firebase/firebase-firestore";
var firebaseConfig = {
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
};
const fb = firebase.initializeApp(firebaseConfig);
const db = firebase.firestore();
export {fb,db}
Если бы кто-то мог мне помочь;)