In Ordnung, ich bin ziemlich neu in Angular, verbrachte die letzten zwei Tage versucht, einen guten Weg zu finden, und dies ist fehlgeschlagen. Ich bin mir nicht sicher, ob der Titel auch gut ist.AngularJS - Wie Vorlage und Daten aus einem Versprechen zu rendern
Ich versuche, eine einfache Seite mit einem Menü zu machen. Die Person würde auf einen Menü-Link klicken und dann sollte die Ansicht, die unter dem Menü ist, entsprechend dargestellt werden (ohne natürlich die gesamte Seite zu aktualisieren). Klingt einfach.
Aber die Sache ist, es wird ein Menü für Admins und ein Menü für normale Benutzer geben, so dass das Menü durch Ajax geladen wird. Dies ist ein Beispiel dafür, was ich bekommen:
[
{
name: "Manage games",
templateUrl: "/view/mygames.html",
url: "/games",
},
{
name: "Weekly Reports",
templateUrl: "/view/myreports.html",
url: "/reports"
},
{
name: "Manage Users",
templateUrl: "/view/users.html",
url: "/users",
adminRequired: true
}
];
Nachdem das Menü geladen wird, wenn ein Menüelement geklickt wird, möchte ich Daten erhalten, einen Ajax-Aufruf an die url
Eigenschaft machen, und die Vorlage dieser Daten zu holen um auch ein Ajax Anruf an die templateUrl
Eigenschaft sein.
Also, wie ist das erreichbar? Grundsätzlich möchte ich eine Direktive/Komponente/was auch immer haben, die standardmäßig leer ist, nicht angezeigt oder gerendert wird. Aber wenn ich auf ein Element im Menü klicke, werde ich $ an ein Ereignis mit dem Befehl dataUrl/templateUrl an die Direktive/component/whatever senden und zwei Ajax-Aufrufe machen, eins zwei die Daten holen und ein anderes an Holen Sie sich die Vorlage, nachdem beide fertig sind, wird es auf der Seite gerendert und angezeigt.
Jede auf diese Art und Weise, oder einen Vorschlag etwas Ähnliches wie dies zu tun stark
Durch die Art und Weise geschätzt wäre, ich bin mit Angular 1.5.7
Oder Sie könnten ngRoute verwenden. – dfsq
Nun, ich habe versucht mit ngRoute, aber ich konnte es nicht richtig machen. Wie, ich habe den MenuController, und drinnen mache ich den Anruf, um den JSON zu bekommen, den ich zeigte. Nachdem ich das Objekt bekommen habe, habe ich versucht mit app.config den $ rootProvider zu übergeben, um Routen zu definieren, aber aus irgendeinem Grund würde die Funktion nie aufgerufen werden, und sah auch andere Leute mit ähnlichen Problemen. Nicht sicher, ob Sie app.config aus einem Versprechen/Controller heraus aufrufen können – GBarroso
Wieder bin ich ziemlich neu in Angular, also habe ich vielleicht etwas wirklich falsch gemacht – GBarroso