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
我有一个 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