【发布时间】:2015-01-26 15:47:37
【问题描述】:
我有一个存储在 firebase 中的项目集合,项目对象有两个属性,名称和选中。 我将所有项目都打印到视图中,并且它们每个都有一个复选框,可以将 selected 的属性更改为 true。 我在底部还有一个按钮,它绑定了一个函数,deleteSelected()。
我的想法是以某种方式遍历 firebase 对象,然后检查它们是否具有 selected=true 的属性,然后删除这些项目。我尝试在 firebase 对象上使用 $asObject() 函数,但出现此错误。
TypeError: undefined is not a function
at new <anonymous> (controllers.js:17)
at invoke (angular.js:3374)
at Object.instantiate (angular.js:3386)
at $get (angular.js:5902)
at angular.js:5400
at forEach (angular.js:220)
at nodeLinkFn (angular.js:5387)
at compositeLinkFn (angular.js:4911)
at compositeLinkFn (angular.js:4914)
at publicLinkFn (angular.js:4819)
如何遍历 firebase 对象?还是有更简单的方法来解决这个问题?
如果你想看看,这里是代码:Plunker
var firebaseRef = new Firebase("https://inkopslista.firebaseio.com/items");
//creates a firebase object that takes a reference to the firebase URL
var items = $firebase(firebaseRef);
$scope.items = items;
这是通过 ng-click 绑定到按钮的函数。
$scope.deleteSelected = function(){
for(var i=0; i < items.length; i++){
if(items[i].selected === true){
console.log(items[i]);
}
}
};
【问题讨论】:
-
请在问题本身中包含产生问题的最少代码。仅仅指向一个 plunker 是不够的,尤其是当我尝试运行它时,那个 plunkr 会出现各种其他错误。 stackoverflow.com/help/mcve
-
好的,谢谢。
-
与我在下面的回答无关:我觉得您的问题是基于某些教程或课程。如果是这样的话,你能指出我的教程/课程吗?我想阅读更多关于它的内容,因为你不是第一个被作业卡住的人,也许我们可以做一些事情来帮助人们更有条理地完成作业。
-
我目前没有学习教程,但我对 Angular 很陌生,我在 egghead.io 上观看了一些视频。
标签: angularjs firebase angularfire