有人可以解释为什么使用$ firebaseArray和$ extend的Angularjs情况不起作用?

时间:2016-03-29 07:45:37

标签: angularjs firebase angularfire

我提供了扩展$ firebaseArray的服务。这个工作原理如下我调用数组:

 vm.customers = new firebaseExtends(firebaseService.customers);

这是工厂:

(function(){

'use strict';

angular
.module('100hh')
.factory('firebaseExtends', firebaseExtends);

firebaseExtends.$inject = ['$firebaseArray'];

function firebaseExtends($firebaseArray){

return $firebaseArray.$extend({
    reset: function(itemOrIndex) {
        var key, self;
        self = this;
        key = self.$keyAt(itemOrIndex);
        self.$ref().child(key).once('value', function(snap) {
           self.$$updated(snap);
        });
    }
});

};

})();

这很棒。但我想在工厂增加更多延伸,但我不明白为什么这不起作用?

这是工厂:

 (function(){

 'use strict';

angular
.module('100hh')
.factory('firebaseExtends', firebaseExtends);

firebaseExtends.$inject = ['$firebaseArray'];

function firebaseExtends($firebaseArray){

var service = {
  withReset: withReset
};

function withReset(){

  return $firebaseArray.$extend({
          reset: function(itemOrIndex) {
              var key, self;
              self = this;
              key = self.$keyAt(itemOrIndex);
              self.$ref().child(key).once('value', function(snap) {
                 self.$$updated(snap);
              });
          }
        });

};

return service;

};

})();

这就是我试图称之为的方式,我根本无法理解我所缺少的东西。可能很简单,但任何人都可以提供帮助。

 vm.customers = new firebaseExtends.withReset(firebaseService.customers);

1 个答案:

答案 0 :(得分:0)

试试这个:

 var service = {
   withReset: withReset()
 };