Angularfire中存在$ destroy()的原因是什么?
angularfire sais的文档:
https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebasearray-destroy
停止侦听此阵列使用的事件和可用内存(清空本地副本)。更改不再与Firebase同步或从Firebase同步。
sync = $firebase(ref).$asArray();
...
....
sync.$destroy()
我不能这样做:
sync = null
或
delete sync
或者我应该因为某种原因真的使用$ destroy()吗?
答案 0 :(得分:4)
$destroy()
exists to empty the data and unbind event listeners.如果您需要取消绑定$firebaseArray()
或$firebaseObject()
,您可以使用$destroy()
,但我认为使用取消绑定会更好已解决的功能。
这段代码片段取自angularfire-seed
var unbind;
// create a 3-way binding with the user profile object in Firebase
var profile = $firebaseObject(fbutil.ref('users', user.uid));
profile.$bindTo($scope, 'profile').then(function(ub) { unbind = ub; });
// expose logout function to scope
$scope.logout = function() {
if( unbind ) { unbind(); }
profile.$destroy();
...
};