so entwerfe ich eine einzelne Seite Anwendung in Angular und habe es alles falsch gemacht! Ich bin derzeit wieder tun es mit Routing, was bedeutet, dass statt auf dem Server $ajax
oder $http
Anrufe zu tun, ich möchte etwas wie folgt verwenden:Winkelrouten senden Daten an den Server
.when('/contact', {
templateUrl : '/contentMore',
controller : 'contentController'
});
Mein Problem ist, mit dem templateUrl
.
Derzeit mein Code sieht wie folgt aus:
$.ajax({
url: "http://example.com/contentMore",
type: "GET",
data: {request:"Section_I_Part_1_Complete",part:"1"},
success: function(data){
$scope.robot.ajax = true;
$scope.robot.sectionStayActiveI = false;
theData = data;
$scope.$apply();
$scope.html = theData;
$('#shyBox').mCustomScrollbar({
theme:"dark"
});
$scope.background.push("I");
}
});
Alle meine Inhalte aus dem gleichen URL serviert wird, http://example.com/contentMore
und was serviert wird durch die Daten bestimmt, die mit ihm in der Ajax-Anfrage gesendet wird. Wenn die templateUrl nur /contentMore
ohne diese Daten ist, dann wird nichts geliefert, also wie gebe ich diese Daten weiter?
Codiere ich nur die URL oder etwas? Wurde auch die TemplateUrl geladen, wird dies als eine Form einer Ajax-Anfrage betrachtet?
Danke!
Sie sollten beginnen mit NUR '$ http' und NICHT' jQuery.ajax() '- Bei Verwendung von' $ http' angular "weiß", wenn die Anfrage Versprechen gelöst wurde - Dies wird es ermöglichen, einen Digest-Zyklus auszulösen und aktualisiere die Bindungen in deiner App –
@AlonEitan Ja danke, ich habe das gelernt lol. Aber muss ich '$ http' auch verwenden, wenn ich' templateUrl' im Routing verwende? Mein Hauptproblem ist jetzt, dass ich kein Routing habe, so dass meine Benutzer den Zurück-Knopf drücken und auf eine komplett andere Seite gehen. –
Sie können die Vorlage dynamisch mit [ui-router] (https://github.com/angular-ui/ui-router/wiki) bereitstellen, wodurch dem Basis-eckigen $ routeProvider zusätzliche Funktionalität hinzugefügt wird. [Lesen Sie dies] (https://github.com/angular-ui/ui-router/wiki#templates) wenn @ Chic's Antwort nicht ausreichend ist. Und für Ihre Frage über die Verwendung von immer "$ http" - Die Antwort ist immer US $, jQuery gibt es nur als letztes Mittel und sollte nur innerhalb einer Direktive verwendet werden –