每当Firebase Authentication状态发生变化时,我都无法找到执行AngularJS控制器函数的好方法。我目前正在使用下面代码中显示的方法,这是我能找到的唯一方法。但是,这是一个不太理想的解决方案,因为我必须通过DOM访问范围。我该如何修改?
initApp = function() {
firebase.auth().onAuthStateChanged(function(userObj) {
if (userObj) {
angular.element(document.getElementsByTagName('body')[0]).scope().userSignedIn(userObj);
} else {
angular.element(document.getElementsByTagName('body')[0]).scope().userSignedOut();
}
}, function(error) {
console.log(error);
});
};
window.addEventListener('load', function() {initApp()});