为什么要使用 angularfire $destroy()?
Why use angularfire $destroy()?
$destroy() 存在于 Angularfire 中的原因是什么?
angularfire 的文档说:
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() 吗?
$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();
...
};
$destroy() 存在于 Angularfire 中的原因是什么?
angularfire 的文档说:
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() 吗?
$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();
...
};