2013-10-15 2 views
0

Я использую версию 0.3.0 для углового Fire для подключения приложения AngularJS к Firebase. Я хотел бы использовать явную синхронизацию одной модели в форме редактирования.Явная синхронизация одной модели с использованием angularFireCollection

Я попытался использовать angularFireCollection, а не angularFire, как documentation, используя $scope.questions = angularFireCollection(new Firebase(fbUrl + 'questions/' + $routeParams.id)); в моем контроллере, но, как следует из названия, он работает только для коллекций, а не для отдельных моделей.

Я не хочу извлекать потенциально большую коллекцию, а затем искать конкретную модель, поэтому я взломал проблему, используя angularFire и создав копию, к которой я вернусь, если пользователь отменяет редактирование, но должен к неявной синхронизации, это имеет побочный эффект трансляции изменений при редактировании модели.

Я хотел бы знать, что является рекомендуемым рецептом для обработки этого прецедента. Должен ли я прибегать к использованию API Firebase напрямую?

ответ

1

Да, в этом случае имеет смысл использовать API Firebase напрямую. В целом я думаю, что это помогает думать о AngularFire как дополнении к API Firebase, а не замене. Это значительно упрощает несколько случаев общего пользования (например, живые обновления среди коллекций через angularFireCollection), но вы будете в затруднении, чтобы упростить явное обновление одной модели с помощью Firebase API:

var questionRef = new Firebase(fbUrl + 'questions/' + $routeParams.id) 
questionRef.update({fieldToUpdate: "newData"}) 

Что должно быть только то, вам нужно в форме редактирования.

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