Gibt es eine Möglichkeit, eine HTML-Ansicht mit vorab ausgefüllten Werten vom Server zu erstellen, und AngularJS dann dazu zu bringen, diese Werte in seine $scope
?
Ich denke an ein Szenario, in dem das HTML so ist:
%Vor%Und das JavaScript ist so:
%Vor%Der Gedanke dahinter ist, dass Server den HTML-Code rendern soll, den Suchmaschinen indexieren können, aber eine JavaScript-Modelldarstellung des Inhalts stark> für die Manipulation durch JS.
Während ng-init
eine Lösung ist, müssen Sie den Wert explizit festlegen. Also hier ist eine alternative Lösung.
Hinweis : Diese Lösung funktioniert nicht für ng-repeat
. Control-Flow-Direktiven können damit nicht verwendet werden. Aber für die einfache Extraktion von Informationen aus ng-bind
funktioniert das ziemlich gut. Alles, was Sie tun müssen, ist die default
-Direktive (Code in Plunk), wo auch immer Sie die Bindung machen, und es wird den Textinhalt extrahieren und es auf die Scope-Variable schieben.
EDIT (Lösung mit ng-repeat):
Also, ich habe mir einen Weg ausgedacht, wie man auch mit ng-repeat arbeiten kann. Aber ng-repeat zu arbeiten, ist kein einfacher Job (siehe den Code für den Beweis: P). Ich habe endlich eine Lösung gefunden - los gehts:
Es gibt ein paar Dinge, die Sie wissen müssen, bevor Sie dies verwenden. Dies wurde nicht gründlich getestet. Es funktioniert nur zum Wiederholen über Arrays (nicht Objekte). Es könnte Fälle geben, die nicht abgedeckt wurden. Ich übertreibe ngRepeat selbst, was andere Konsequenzen haben könnte. Wenn Sie die Elemente (in Ihrem Server-Side-Code) durchlaufen, vergessen Sie nicht, default="true"
für das erste Element und default
für die restlichen Elemente hinzuzufügen.
Hoffe, das hilft.
Ich denke, was Sie wirklich wollen, ist, Ihre Anwendung suchbar zu machen, indem Sie statische Dateien parallel bereitstellen. Lesen Sie mehr darüber hier Ссылка