Angular 使用 firebase 获取 $add 的应用不是函数

Angular app using firebase getting $add is not a function

我有一个 angular 服务:

(function(){
    "use strict";

    angular
        .module('todoapp')
        .factory('ListService', ListService);
    ListService.$inject = ['$firebaseArray'];

    function ListService($firebaseArray) {
        var ref = new Firebase('https://---firebase-name---.firebaseio.com/items/'),
        list = $firebaseArray(ref);

        return list;


    }

})();

从控制器调用

(function () {
"use strict";

angular
    .module('todoapp')
    .controller('ListController', ListController);

ListController.$inject = ['$scope', '$log', 'ListService'];

/* @ngInject */
function ListController($scope, $log, ListService) {

    var listCtrl = this;

    listCtrl.items = ListService;

    listCtrl.add = function(form){

        //ADD TO FIREBASE
        console.log(listCtrl.newList);
        listCtrl.newList.$add(listCtrl.newList);
}

当我触发 listCtrl.add() 时,我收到错误:

listCtrl.newList.$add is not a function

现在,我尝试传递的 listCtrl.newList 对象仅包含我尝试更新的 firebase 对象中包含的节点,但不是所有节点,我认为我只需要包含正在更改的节点.我不认为对象是问题,因为方法 $add 是错误的地方,而不是错误的地方。

我也试过将 $asArray 添加到 firebase 方法中,如下所示:

list = $firebaseArray(ref).$asArray();

但是没有找到 $asArray 有什么想法吗?

listCtrl.items.$add 而不是 listCtrl.newList.$add