In meiner AngularJS-App habe ich eine Ansicht mit einem JQuery-Datablatt , Controller, um die in der Datentabelle geladenen Daten zu verwalten, wie unten gezeigt. Beim Aktualisieren der Ansicht werden Daten problemlos in die Datentabelle geladen, aber wenn ich die Route in eine andere Ansicht ändere und dann zurück zur Ansicht mit Datentabelle komme, bekomme ich eine Nachricht (Keine Daten in der Tabelle verfügbar) ... nach der Suche nach dem gefundenen Problem Dies geschieht, weil die Datentabelle geladen wird, bevor der $ http-Aufruf zurückkehrt. Ich habe versucht, Naif auf dem Div mit der Datentabelle hinzuzufügen, um zu verhindern, es anzuzeigen, es sei denn, Daten zurückgegeben, aber kein Glück, da es nur beim ersten Laden der Seite (durch Aktualisieren) funktionierte, aber nicht auf Routenänderung funktionieren würde. Kann mir bitte jemand sagen, was genau ich hier falsch mache und wie ich dieses Problem lösen kann? Danke
app.js
%Vor%Controller.js
%Vor%membersList.html
%Vor% Sie können Angular directive
für Jquery Datatable
verwenden, anstatt andere Optionen zu verwenden. Es ist gut, Features in Angular way
hinzuzufügen.
URL: Ссылка
Bitte überprüfen Sie das folgende Beispiel, das Ihnen bei der Ausführung Ihrer Aufgabe hilft.
URL: Ссылка
Überprüfen Sie auch die folgende API für den Abgleich Ihrer Konfigurationen
URL: Ссылка
Arbeitsdemo: Ссылка
Hinweis: Die obige Demo wurde mit ui-router
module kombiniert. Also ich glaube, dass es dein Problem lösen wird.
Richten Sie zuerst tbOptions ein und setzen Sie das Datenobjekt auf Erfolg:
%Vor%Vermeiden Sie auch ng-init. Initialisiere innerhalb der Konstruktorfunktion. Also entferne ng-init von deinem HTML.
Ich würde es bevorzugen, wenn Sie ngTableParams verwenden. Schau dir das an. Table Params
%Vor%membersList.html
%Vor%
Die ngTableParams, die in der .js-Seite verwendet werden, werden mit der Reihenfolge nach Filter erstellt, Suchdaten, falls eine Suchleiste verfügbar ist, um die Daten zu suchen. Die tableParams wird jedes Mal neu geladen, um die Liste der Daten zu erhalten.
In der Seite werden die $ data verwendet, um auf die Daten zuzugreifen, die in der Variablen tableParams im Bereich vorhanden sind. ngTableParams lädt viel schneller. Hoffe das hilft
MemberService.js
%Vor%app.js (vergiss nicht, das MemberService-Modul in deine App-Abhängigkeit aufzunehmen)
%Vor%memberListCtrl.js
%Vor%hier das Wesentliche: Ссылка
Wenn Sie immer noch Probleme haben, zeigen Sie Ihren Service und Controller.