’,function($ q){
var map = {};var mapInfoItems = [];
map.getMapInfo = function(){ var deferred = $ q.defer(); var mapitems = firebase.database()。ref(‘ MapInfo的 </跨度> /’+firebase.auth().currentUser.uid’
map.getMapInfo() 返回一个promise但你正在对它进行处理,好像它在控制器中返回一个数组
map.getMapInfo()
您还要覆盖您的同一对象的属性 for 循环并将相同的对象引用推送到数组中。这意味着数组中的所有元素都将以循环中设置的最后一个值结束...因为它们都是对一个对象的引用
for
更换
$scope.mapLocations = map.getMapInfo();
同
map.getMapInfo().then(function(locations){ for(var i=0; i<locations.length; i++){ // create new object each iteration var obj ={ title : locations[i].name, content: locations[i].message, // ... etc } $scope.arrLocations.push(obj); } });