Firebase 和 Angularjs 范围对象数组未定义
Firebase and Angularjs Scope array of objects undefined
我正在尝试使用 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>
这行不通。谁能帮忙?
提前致谢!
将您的代码更改为:
app1.controller('ctrl1' , function($scope){
$scope.allcats = [];
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
$scope.allcats.push(category);
$scope.$apply();
})
}).then(() => {
console.log($scope.allcats);
});
});
我正在尝试使用 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>
这行不通。谁能帮忙? 提前致谢!
将您的代码更改为:
app1.controller('ctrl1' , function($scope){
$scope.allcats = [];
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
$scope.allcats.push(category);
$scope.$apply();
})
}).then(() => {
console.log($scope.allcats);
});
});