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>
2
Suchetha H V 18 Apr. 2018 im 20:03

3 Antworten

Beste Antwort

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.

0
Nicolas 18 Apr. 2018 im 17:26

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.

0
Sunil 18 Apr. 2018 im 18:27

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.

0
donmckenna 18 Apr. 2018 im 17:36