Ich begann vor 2 Tagen mit Angular.js zu arbeiten, und ich lerne wirklich langsam, so dass ich das Wissen darüber, wie es wirklich gut funktioniert, und nicht nur ein allgemeines Konzept über Angular, bekommen kann t so so unhöflich zu mir, wenn die Frage ist Neuling :)Angular definiert einen Controller
Grundsätzlich bin ich im Web (Tutorials, Bücher, Videos) zu reisen, Angular lernen, und begann mit Code Academy heute, so dass ich mich an die grundlegenden Konzepte erinnern kann . Die Sache ist, dass wenn ich angefangen habe zu lernen, wie man den Controller definiert, hat es mich verwirrt.
dies ist, wie der Controller auf dem Code Academy
app.controller('MainController',['$scope',function($scope){
$scope.title='to your own string';
$scope.promo='new promo here'
}]);
die in einem Buch definiert Controller definiert ist, die ich gelesen
app.controller('FirstController', function($scope) {
$scope.counter = 0;
$scope.add = function(amount) { $scope.counter += amount; };
$scope.subtract = function(amount) { $scope.counter -= amount; };
});
ich nicht den Unterschied zwischen diesen verstehen können . Kann mir das jemand erklären? Oder ist es nur Code aus verschiedenen Versionen von eckigen und der zweite Code ist richtig?
[Angular Dokumente] (https://docs.angularjs.org/guide/di) ist richtige Referenz zu verstehen, wo sie erklärt, wie DI in eckigen arbeiten, und was sind die verschiedenen Möglichkeiten, es zu haben. –
In # 2 übergeben Sie nur die Funktion. In # 1 übergeben Sie ein Array, das die Funktion als letztes Element enthält. Die anderen Elemente im Array sind 'string'-Versionen der Argumentnamen, die Sie in die Funktion injizieren (zB $ scope). Dies dient zum Speichern der Namen während der Verkleinerung. Minimierung ist eine Technik, die Variablennamen ändert, um den Code zu verkürzen. Normalerweise ist das kein Problem, aber bei einem eckigen oder injektorbasierten Framework müssen die Variablennamen beibehalten werden, da sie zum Senden von Anforderungen an den Injektor verwendet werden. – sh0ber