【发布时间】:2018-01-17 02:36:43
【问题描述】:
我正在尝试使用 angularjs 显示对象。但在 html 中,它显示为未定义。
app1.controller('ctrl1' , function($scope){
categories = [];
var dbRef = firebase.database().ref().child('Categories/');
dbRef.once('value', snap => {
snap.forEach(function(childSnap) {
//CATEGORY MODEL
var category = {
name : "",
id : "",
subCategories: {
name: "",
id: ""
}
};
category.id = childSnap.val().id
category.name = childSnap.val().name
category.subCategories = childSnap.val().subCategories
categories.push(category)
})
}).then(() => {
$scope.allcats = categories;
});
});
还有html
<div id="nav-aside " class="nav" ng-controller="ctrl1">
{{allcats}}
<ul class="nav-aside-list" ng-repeat="categories in allcats">
<li><span></span><a href="#">{{categories.name}}</a></li>
</ul>
</div>
这不起作用。有谁能帮忙吗? 提前致谢!
【问题讨论】:
-
为什么要使用分类推送,为什么不直接$scope.allcats?
-
@GauravSrivastava 无论如何,什么都没有显示。我试过:(
-
在categories.push下面做控制台日志,看看是否有数据来了
-
@GauravSrivastava 是的,数据来了。我猜这是一个异步问题?不是吗?
-
是的,让我根据异步问题添加一个答案。
标签: javascript angularjs arrays firebase angularjs-scope