특정 사용자의 데이터를로드하고 특정 입력 필드로 푸시해야합니다.Firebase 및 Vue Js 라이프 사이클 후크
var query = db.ref('Clients/'+ clientName +'/form/');
다음과 같이 내가 mounted()
라이프 사이클 후크의 데이터를 fecth :
mounted(){
// Grab current user logged in from Firebase
var user = firebaseApp.auth().currentUser;
if (user){
// Grab displayName to use in path to retrieve that client's data
var clientName = firebaseApp.auth().currentUser.displayName;
// The path to that specific's client data
var query = db.ref('Clients/'+ clientName+'/form/');
query.once('value')
.then((snapshot) => {
// Get the client's location from Firebase and assign to clientLocation data in the DOM
this.clientLocation = snapshot.child('clientLocation').val();
});
}
}
내가 변경하고 데이터를 다시로드하지 않고 내 코드를 저장 제대로을 누르면됩니다 중포 기지의 경로에 위치 . 나는 모든 생명주기 후크 주위 재생
Error in mounted hook: "TypeError: Cannot read property 'displayName' of null"
:
- beforeCreate
- beforeMount
- 을 만들어
- beforeUpdate 탑재 그러나 다시로드에 나는 다음과 같은 오류가 발생합니다
- 업데이트 됨
- beforeDestroy는
- 는
을 파괴하지만 데이터가 표시되지 않습니다. firebaseApp가 "로드 된"상태가 아니기 때문에 "displayName"속성 값을 가져올 수 없으므로 데이터 경로를 채울 수 없습니다.
작동하는 코드는 어떻게로드해야합니까? 너무 일찍 실행되는 것 같습니다.
안녕하세요, Frank! 감사! 내가 마운트 오류가 없지만, 지금 얻을 : "잡히지 않는 (약속 있음) TypeError : undefined"clientLocation '속성을 설정할 수 없습니다. 나는 값과 올바른 콘솔을 기록했다. 어떤 아이디어? – Tony
흠 .... 굵은 화살표를 사용하면 'this'가 동일하게 유지되어야합니다. 코드를 명시 적으로 캡처하도록 업데이트했습니다. –