Lädt die Anweisung nach dem AJAX-Aufruf

8

Ich habe eine Anweisung für die Seitennummerierung erstellt, die zwei Argumente benötigt. die aktuelle Seite und die Gesamtzahl der Seiten.

<pagination page="page" number-of-pages="numberOfPages"></pagination>

Das Problem ist, dass ich den Wert von numberOfPages nach einem AJAX-Aufruf (über ng-Ressource) nur kennen werde. Aber meine Direktive ist bereits gerendert, bevor der AJAX-Aufruf erfolgt.

%Vor%

Ich warte lieber mit dem Rendern meiner Controller-Vorlage, bis der AJAX-Aufruf beendet ist.

Plan B wäre, die Vorlage mit der Direktivenvorlage anzufügen, wenn der AJAX-Aufruf durchgeführt wurde.

Ich bin dabei, beide Szenarien auszuarbeiten.

    
Erik Nijland 07.02.2015, 22:55
quelle

3 Antworten

9

Sie müssen auf den Wert mit einer $watch Funktion wie:

warten %Vor%

Richtlinie

%Vor%
  

Wichtig: Ihre Richtlinie kann einen isolierten Bereich verwenden, aber das gleiche Prinzip gilt.

    
Dalorzo 07.02.2015, 22:57
quelle
13

Aber ist es nicht möglich, das Rendering zu verhindern, bis alles fertig ist

?
  • Ich denke, ng-wenn würde das tun, im Gegensatz zu ng-show / ng-hide, die nur die tatsächliche Anzeige ändern
Manube 07.02.2015 23:37
quelle
0

Wenn Sie resolve von ui-router verwenden, können Sie meta haben oder meta.number_of_pages wird in den Controller injiziert, BEVOR die Ansicht gerendert wird.

%Vor%     
malix 07.02.2015 23:32
quelle