프로젝트 아키텍처는 다음과 같습니다. Angular + Firebase. Angular 컴포넌트는 서비스의 메소드를 호출하여 Firebase에서 데이터를 저장/검색합니다.사용자가 로그 아웃 한 후 각도가 변경된 서비스의 변수 재설정
동작 : 사용자가 로그인하여 일부 작업을 수행하고 (데이터 저장/검색) 로그 아웃합니다. 다른 사용자가 동일한/다른 탭에 있지만 동일한 브라우저 창에 로그인하면 일부 데이터가 저장됩니다. 데이터는 Firebase의 이전에 로그인 한 사용자의 위치에 저장됩니다.
그래서 예상 된 동작인지 확인하고 싶습니다.
서비스의 생성자에서, 나는 현재
constructor() {
this.user = firebase.auth().currentUser;
// some other code
}
를 기록 인출 할 수있는 코드를 작성했습니다하지만 그 응용 프로그램의 두 번째/연속 사용자 불러 결코 (처음/이전 사용자가 로그 아웃 한 후) .
새 사용자가 로그인 할 때 서비스 생성자가 다시 호출되는 것은 아닌지 확실하지 않지만 확인하고 싶습니다. 또는 일단 사용자가 로그 아웃하면 "service"변수는 null로 설정되어서는 안됩니다. firebase.auth(). currentUser는 현재 로그인하지 않았 으면 null을 반환하기 때문에 null로 설정해서는 안됩니다. 사용자 !
감사합니다.이 시나리오를 처리 할 별도의 함수를 만들었습니다. –