Ich habe ng-repeat
, in dem für jedes Bild die Anzahl der Schaltflächen Gefällt mir und Nicht mögen geändert wird.
Beim Aktualisieren der Seite wird jedoch der Wert ng-init
anstelle der vorherigen inkrementierten Anzahl der Werte like und dislike angegeben.
Wie behalte ich den inkrementierten Wert auch nach dem Aktualisieren der Seite bei?
<button class="btn btn-default" id="{{$index}}" ng-click="count1=count1+1" ng-init="count1=15">Upvote <span class="badge">{{count1}}</span></button>
<button class="btn btn-default" id="{{$index}}" ng-click="count=count+1" ng-init="count=15">Downvote<span class="badge">{{count}}</span></button>
3 Antworten
Wenn Sie den Wert in ng-init
fest codieren, ist er immer der gleiche. Sie können die Anzahl der Gefällt mir und Gefällt mir nicht verfolgen, indem Sie den Wert im HTML 5 localstorage oder verwenden Sie eine Ajax-Anforderung, um die Abneigungsdaten von einem Server mit einer Datenbank zu speichern und abzurufen.
Sie können den inkrementierten Wert in HTML 5 speichern. Speicher, Datenbank und Cookies können den Wert bei jedem erneuten Laden der Seite neu initialisieren.
ng-init
wird bei einer Seitenaktualisierung immer aufgerufen. Sie benötigen ein dauerhaftes Back-End / eine dauerhafte Datenbank oder, wie Nicolas sagte, HTML 5 localstorage, um Ihre count
-Werte außerhalb des DOM zu speichern.
Sie können auch json-server verwenden.
Hier ist ein Artikel zum Einrichten und Spielen es.
Dieser Artikel zeigt Ihnen, wie Sie ihn mit Angular 4 verbinden Nicht die Version von Angular, die Sie verwenden, aber das Lesen kann Ihnen dabei helfen, Ihre count
-Daten von Angular an einen dauerhaften Ort zu bringen.