In eckigen, hier ist das einfache Beispiel für die Verwendung von $ http.Warum können Sie nicht ändern, Argumentnamen in Angular
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http.get("welcome.htm")
.then(function(response) {
$scope.myWelcome = response.data;
});
});
Was ich nicht verstehe, ist, dass $ http der Name des Arguments in der Callback-Funktion ist also warum macht es einen Unterschied machen, wenn Sie es auf etwas anderes umbenennen?
Zum Beispiel in JavaScript diese beiden sind offensichtlich genau die gleiche Funktion
function(a, b) {
return a+b;
}
function(c, d) {
return c+d;
}
Aber in diesem Fall, wenn ich $ http mit etwas anderem wie $ ersetzen HTTP wird es brechen?
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $HTTP) {
$HTTP.get("welcome.htm")
.then(function(response) {
$scope.myWelcome = response.data;
});
});
Es ist eckig besonderes Verhalten, eine Art Reflexion für Argumentation. Übrigens, Problem beim Higglify des Codes. Da sie keine Argumente sind und tatsächlich Dienstleistungen und Fabriken sind, müssen Sie sie nicht ändern. Angular injiziert sie für Sie –
Da es Abhängigkeitsinjektion ist ... das ist, was der Name des Dienstes ist – charlietfl
Ein weiterer wichtiger Unterschied ist hier, dass in eckigen Sie auch die Reihenfolge der Argumente ändern können, ohne Auswirkungen 'Funktion ($ http, $ Scope) 'Das trifft nicht auf dein einfacheres nicht eckiges Beispiel zu. –