Я использую Firebase (AngularFire) с их API-интерфейсом PHP, и я создаю систему онлайн-присутствия. https://www.firebase.com/docs/managing-presence.htmlХранение нескольких ссылок на Firebase
Я начинаю с большим количеством ссылок, и это кажется неправильным.
Должны ли храниться огневые базы в ванильных варах или объекте?
controllers.controller('SocialCtrl', function($scope, angularFire) {
var onlineRef = new Firebase($scope.main.firebaseUrl + "https://stackoverflow.com/users/" + $scope.main.userId + "/online");
$scope.online = {};
angularFire(onlineRef, $scope, "online");
var usersRef = new Firebase($scope.main.firebaseUrl + "/users");
$scope.users = {};
angularFire(usersRef, $scope, "users");
var productRef = new Firebase($scope.main.firebaseUrl + "/products/" + $scope.main.serieId);
$scope.product = {};
angularFire(productRef, $scope, "product");
var connectedRef = new Firebase($scope.main.firebaseUrl + "/.info/connected");
connectedRef.on("value", function(snap) {
if (snap.val() === true) {
onlineRef.onDisconnect().set(Firebase.ServerValue.TIMESTAMP);
onlineRef.set(true);
}
});
});
ИЛИ
$scope.fire = {
refs: {
online: new Firebase($scope.main.firebaseUrl + "https://stackoverflow.com/users/" + $scope.main.userId + "/online"),
users: new Firebase($scope.main.firebaseUrl + "/users"),
product: new Firebase($scope.main.firebaseUrl + "/products/" + $scope.main.serieId),
connected: new Firebase($scope.main.firebaseUrl + "/.info/connected")
}
};
angularFire($scope.fire.refs.online, $scope, "fire.online");
angularFire($scope.fire.refs.users, $scope, "fire.users");
angularFire($scope.fire.refs.product, $scope, "fire.product");
angularFire($scope.fire.refs.connected, $scope, "fire.connected");
$scope.fire.refs.connected.on("value", function(snap) {
if (snap.val() === true) {
$scope.fire.refs.online.onDisconnect().set(Firebase.ServerValue.TIMESTAMP);
$scope.fire.refs.online.set(true);
}
});
Я не имею в виду, чтобы сделать это лучше практики вопрос. Firebase так же новичок, что я не хочу сломать что-либо, о чем я еще не знаю.
Спасибо за подсказку '.child', очень полезная. Я завернул корневую ссылку на угловой фабрике и теперь вызываю «.child» для всех других потребностей. Результат очень чист. – SimplGy