Dopiero zaczynam uczyć się Angular.js i patrzyłem na project.js w przykładzie „Wire up a Backend” na stronie domowej Angular .
Nie mam pojęcia co do parametrów w funkcjach kontrolera:
function ListCtrl($scope, Projects) {
...
}
function CreateCtrl($scope, $location, $timeout, Projects) {
...
}
function EditCtrl($scope, $location, $routeParams, angularFire, fbURL) {
angularFire(fbURL + $routeParams.projectId, $scope, 'remote', {}).
then(function() {
...
});
}
Te funkcje kontrolera są wywoływane w routeProvider, ale żaden z parametrów nie jest podawany.
$routeProvider.
when('/', {controller:ListCtrl, templateUrl:'list.html'}).
when('/edit/:projectId', {controller:EditCtrl, templateUrl:'detail.html'}).
when('/new', {controller:CreateCtrl, templateUrl:'detail.html'}).
otherwise({redirectTo:'/'});
});
Jedyną rzeczą, którą udało mi się znaleźć tak daleko, że być może wyjaśnia, co dzieje się „Kontrolery Injecting Usługi na” , co tłumaczy $location
, $timeout
ale nie Parametry metody angularFire
i fbURL
.
Moje konkretne pytania to:
Jakie mogą być parametry sterownika?
Gdzie są wywoływane funkcje kontrolera wraz z ich parametrami? Lub parametry nie są wywoływane, ale są po prostu związane z kontrolerem, gdzie skojarzenie występuje z dużą ilością magii Angular.js (jeśli tak, czy mogę zobaczyć kod źródłowy na githubie)?
Gdzie jest
angularFire
zdefiniowane?W jaki sposób
fbURL
parametr jest powiązany z:angular.module('project', ['firebase']). value('fbURL', 'https://angularjs-projects.firebaseio.com/'). factory ...
Czy jest jakieś miejsce, gdzie mogę zobaczyć wszystkie usługi, na przykład
$location
a$timeout
, że angularjs zapewnia? (Próbowałem znaleźć listę, ale nie udało mi się).