전역 컨트롤러 (html로 본문에 할당 됨)에서 firebase의 스냅 샷을 한 번 잡아내는 다음 코드가 있습니다.
ref.once('value', function(snapshot){
var data = snapshot;
}).then(function(data){
$rootScope.content = data.val();
});
내 HTML 템플릿의 콘텐츠를 사용하여 렌더링하고 있습니다. 내가 찾은 모든 질문은 콜백 안에 "then"코드를 넣는 결과를 가져왔다.
필자가해야 할 말은 스냅 샷을 한 번 가져 와서 $rootScope.content
에 저장하고 기능 (예 : 앱의 어느 위치) 외부에서 액세스 할 수있는 것입니다.
나는 모든 것이 firebase가 반환되기 전에 렌더링되기 때문에 확신 할 수 있습니다. 기다리지 말라고하는 가장 좋은 방법은 확실치 않습니다.
미리 감사드립니다.
왜 "rootscope"대신 서비스를 사용하지 마십시오 –
하나의 스냅 샷이 필요하기 때문에 한 번만 사용할 수 있습니다. –
사용자가 새로 고침하지 않는 한 데이터를 한 번 가져오고 다시 Firebase에서 가져 오지 못하게하는 서비스가 있다고 생각하면 나를 보여주십시오. 나는 그것을 결코 달성 할 수 없었습니다. –