2016-02-25 4 views
1

В угловом пожара documentation, здесь находятся две линии я пытаюсь понять:

// To make the data available in the DOM, assign it to $scope 
    $scope.data = obj; 

// For three-way data bindings, bind it to the scope instead 
    obj.$bindTo($scope, "data"); 

Они делают то же самое? Связаны ли они с областью действия для трехсторонней привязки данных?

ответ

3

Нет, они не делают то же самое. Это был бы довольно глупый API. :-)

Выполнение $scope.data = $firebaseObject(ref) связывает данные в местоположении Firebase с областью действия. Любое обновление данных в базе данных Firebase будет автоматически отражено в области и, следовательно, - если вы привязываете элемент HTML к $scope.data - также обновляетесь на экране. Поток однонаправлен: из базы данных, на экран.

Вызов obj.$bindTo($scope, "data") как связывает данные в месте Firebase в рамках и прослушивает изменения $scope.data, что он посылает обратно в базу данных Firebase автоматически. Таким образом, это создает двунаправленную трехстороннюю привязку. Обновления в HTML отправляются в базу данных, на экран отправляются обновления базы данных.

Это все довольно хорошо документировано, например, в этом блоге "Three-Way Data Binding with Firebase and Angular". В стандартной документации AngularFire также содержится хороший раздел о three-way data binding.

+0

Thanks Frank. Получил это сейчас. – Nexus23

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

  • Нет связанных вопросов^_^