Page 233 - AngularJS权威教程
P. 233

18.26 从 AngularFire 开始   213


              们把它作为依赖项注入到控制器和服务中。                                                                    1

                  angular.module('myapp', ['firebase'])
                      .controller("MyController", ["$scope", "$firebase",
                          function($scope, $firebase) {                                              2
                              // 把控制器的定义写在这里
                      }
                  ]);                                                                                3
                  $firebase服务带有一个参数:Firebase引用。

                  FirebaseRef(Firebase引用)                                                            4
                  Firebase引用告诉$firebase数据存在哪里,如何连接。 $firebase服务处理与Angular的同步,
              并且是我们调用方法保存变更的地方。                                                                      5

                  这个对象有多个方法,我们可以用来与远程数据交互。这些方法在下面详细列出,都是以$
              符号开头的(例如,$add()、$save()),都可以在这个对象上使用。                                                  6

                      注意,对象的变更不会引起远程数据的变更。
                                                                                                     7
                  为了把本地对象模型同步到远程的Firebase引用,我们使用服务的方法,并且传入一个
              Firebase对象的实例。例如,要把$scope.items模型同步到我们的ng-newsletter项,运行如下                             8
              方法:

                  angular.module('myApp')                                                            9
                  .controller("MyController", function($scope, $firebase) {
                      // Firebase URL
                      var URL = "https://ng-newsletter.firebase.com";
                      // 同步$scope上的items                                                             10
                      $scope.items = $firebase(new Firebase(URL + '/items'));
                   });
                                                                                                     11
                  至此,我们可以简单地跟$scope.items对象交互,这样可以同步我们的Angular模型和
              Firebase。
                                                                                                     12
              18.26.5  数据同步
                                                                                                     13
                  我们可以使用下面$firebase对象提供的这些方法来把数据同步到Firebase。

                  1. $add(value)
                                                                                                     14
                  $add方法带有单个任意类型的参数。它把这个值添加为一个按照时间排序的列表成员。我们
              可以把这个看作是在Firebase引用数组上调用.push(value)。
                                                                                                     15
                      注意,Firebase引用对象并不真的是个数组,但是可以把它当成像数组那样用。
                  例如,我们可以在Firebase引用的/foo端点上添加一个字符串“bar”:                                            16

                  $scope.items.$add({foo: "bar"});
                                                                                                     17
                  2. $remove(key)
                  $remove方法从Firebase上移除远程的子引用。它带有单个可选参数。
                                                                                                     18
   228   229   230   231   232   233   234   235   236   237   238