【发布时间】:2017-05-27 14:01:30
【问题描述】:
我正在开发一个用 Ionic-1 编写的混合应用程序,它使用 Angular-1 javascript 库和 HTML-5 来创建混合应用程序。
在我的代码中,我连接到 Firebase 以获取一些数据:
我的Ctrl:
angular.module('myctrl.controller', [])
.controller('MyCtrl', function () {
$ionicPlatform.ready(function () {
try {
var userRef = firebase.database().ref().child("users/" + loggedInUser.userName + "/details");
userRef.on('child_added', function(snapshot, prevChildKey) {
var newUser = snapshot.val();
console.log("New user " + JSON.stringify(newUser));
});
}
});
});
现在,据我了解,每次重新创建附加到的视图时,都会重新实例化控制器。但是,在我的应用程序中,即使我在附加到此控制器的视图之外,并在 firebase 中添加一个用户,此代码也会被执行。这让我感到困惑,因为一旦视图被另一个视图替换,这段代码就应该被垃圾收集。这是否意味着这个on() 方法以某种方式附加到$rooScope?
【问题讨论】:
标签: javascript angularjs ajax ionic-framework firebase-realtime-database