0

我使用$firebaseArray從Firebase收集數據。輸出如下:

[ 
    { 
    "BankAccount": { 
     "AccountHolder": "Tom Antony", 
     "AccountNumber": "56767887" 
    },  
    "Info": { 
     "BillingAddress": { 
     "City": "XYZ", 
     "State": "ABC" 
     }, 
     "FullName": "Tom Antony", 
     "PhoneNumber": "634762347" 
    }, 
    "$id": "dGUZX5SWi7aP0SNYLYqEiMdCYAS2", 
    "$priority": null 
    }, 

    { 
    "Campaigns": {  
     "Settings": { 
      "Active": true 
     } 
     } 
    }, 
    "Info": { 
     "BillingAddress": { 
     "City": "ABC", 
     "State": "DFG" 
     }, 
     "FullName": "Mario", 
     "PhoneNumber": "634762347" 
    }, 
    "$id": "tBqGZ7g6VwNYOWoVy7C1FHKZKFS2", 
    "$priority": null 
    } 
] 

我JS如下:

const rootRef = firebase.database().ref().child('Users');   
$scope.users = $firebaseArray(rootRef); 

每個陣列元件將具有不同類型的對象,但每個將具有稱爲信息類似對象,其中包含一個字段爲FullName我需要在此FullName上應用ng-repeat。我的實施如下所示:

<div ng-repeat="user in users.Info"> 
    <p ng-bind="user.FullName"></p> 
</div> 

但它不工作。我在這裏犯了什麼錯誤?

+0

你指的是控制器AdminCtrl如果是的話,我會說,我從來沒有見過通過控制器達到變量的這種方式。而請分享一下控制檯日誌,說明您看到的錯誤。 – katmanco

+0

@katmanco謝謝。那實際上是無意的。但是控制檯日誌中沒有錯誤。 –

+0

@katmanco我的問題依然存在。你能幫忙嗎? –

回答

1

您正在嘗試迭代錯誤的屬性。您有兩個對象(user),其中每個都有一個Info屬性,您需要FullName。您沒有兩個Info對象。因此,您應該迭代users,而不是迭代users.Info

試試這個:

<div ng-repeat="user in users"> 
    <p ng-bind="user.Info.FullName"></p> 
</div> 

而且,你在這裏粘貼你的對象是不是有效的JSON,你有一個額外的}

全部工作例如:http://plnkr.co/edit/ryfjhO0c3egHfKnaL9SQ?p=preview

相關問題