I Ionic Rahmen bin mit, und zu versuchen, eine Liste der „Karte“ Elemente Code mit dem folgenden HTML anzuzeigen:AngularJS: ng-repeat nicht aktualisiert, nachdem Array Aktualisierung
<div ng-repeat="case in cases">
<div class="list card">
<div class="item item-avatar">
<button ng-click="rmpost(card.key)" style="background: transparent; border: none;"><i class="icon ion-close-round"></i></button><!--if (dataSnapshot.val().volunteer_email == firebase.auth().currentUser.email)-->
<h2>{{card.volunteer_name}} ({{card.volunteer_email}})</h2>
<p>{{card.title}} ({{card.creationdate}})</p>
</div>
<div class="item item-body">
<img class="full-image" src={{card.snapshot}}>
<p>{{card.message}}</p>
</div>
</div>
</div>
Das ist mein JS Code innerhalb der Controller für die Aktualisierung der Fälle Array verwendet:
.controller('campaignslookCtrl', function($rootScope, $scope, $cordovaGeolocation, $state, $ionicPopup, Util)
{
$scope.reload = function()
{
$scope.reload();
}
$scope.rmpost = function(key)
{
alert("rmpost");
}
$scope.cases = [];
//...
firebase.database().ref('/cases')
.on('child_added', function(dataSnapshot)
{
$scope.cases.push({key: dataSnapshot.key,
volunteer_name: dataSnapshot.val().volunteer_name,
volunteer_email: dataSnapshot.val().volunteer_email,
title: dataSnapshot.val().title,
creationdate: '',//(new Date(dataSnapshot.val().creationdate)).toString(),
snapshot: dataSnapshot.val().snapshot,
message: dataSnapshot.val().message});
});
//..
})
die $ scope.cases wurde auch angezeigt, wenn auf einen konstanten Wert initialisiert wird, aber wenn (über $ push) dynamisch aktualisiert wird, nichts wird angezeigt.
Es sieht aus wie Ihr Code einige entscheidende Details fehlt. Wie wird die Variable 'dataSnapshot' erhalten? – JLRishe
Verwenden Sie eine '$ watch' und aktualisieren Sie sie bei Änderung. –
@JLRishe Ich habe den Code aktualisiert. bitte hilfe. – Kais