2013-06-07 2 views
0

Я использовал неявный метод для извлечения объектов данных:запрашивать объекты с угловымFireCollection?

setData = function(segment){ 
    var url = 'https://myFireBase.firebaseio.com/'; 
    var rawData = angularFire(url+segment,$rootScope,'data',{}); 
    rawData.then(function(data){ 
    // sorting and adjusting data, and then broadcasting and/or assinging 
    } 
} 

Этот код находится внутри службы, которая вызывается из разных мест, на этапах развития это, вероятно, будет около 100 - 150, так что я вышел из контроллеры и в службу, но теперь привязка данных Firebase, очевидно, перепишет разные segment, поэтому я вернулся к явному методу, чтобы разные firebases отправляли данные только на сайт вместо привязки данных и перезаписи друг друга:

var rawData = angularFireCollection(url+segment); 

И прямо там я почему я выбрал неявное в первую очередь: есть аргумент для typeof, я могу сказать firebase, если я вызываю строку, массив, объект и т. д. Я даже посмотрел на angularfire.js и увидел, что если аргумент не задан, если возвращается к определению его как массива по умолчанию.

Теперь я определенно перейду к явному методу (то есть, если спасение не приходит с угловым2.0), и восстановление моих jsons firebase, чтобы соответствовать политике только для массива, не так уж важно для сделки , но, конечно, есть возможность явно вызвать объекты, или я чего-то не хватает?

+1

какой-нибудь код возможно? – Ven

+0

@ пользователь1737909, почему бы и нет .. Отредактировано. –

ответ

1

Я не совсем понимаю, в чем вопрос - с помощью angularFireCollection вы можете наверняка восстановить объекты просто отлично. Например, в комплекте чат приложение (https://github.com/firebase/angularFire/blob/gh-pages/examples/chat/app.js#L5):

$scope.messages = angularFireCollection(new Firebase(url).limit(50)); 

Каждое сообщение хранится в виде объекта, со своим собственным уникальным ключом, сгенерированный push().

Мне также интересно, какие проблемы вы обнаружили при использовании неявного метода по мере роста вашего приложения. Мы действительно стремимся решать такие проблемы, как для следующей итерации углового Fire!

+0

Я думаю, что Pan относится к той же проблеме, возникшей в этих проблемах: https://github.com/firebase/angularFire/issues/32, https://github.com/firebase/angularFire/issues/28#issuecomment- 18584887. Вы не можете получить доступ к сообщению, выполнив сообщения [messageId] или эквивалент. – bennlich

+0

Это может быть та же проблема, что и @bennlich. –

+0

@ В этом примере $ scope.messages - это массив, и я хотел бы запросить объект, чтобы я мог получить к нему доступ с помощью myObject.myKey. О проблеме, с которой я столкнулся с ростом приложений - это было предсказуемым, я не получил весь механизм прямо, и назначил одну и ту же переменную, чтобы нарисовать две разные огненные базы, которые затем, очевидно, переписывались друг с другом. –

Смежные вопросы