Я тільки починаю вивчати Angular.js і я розглядав project.js у прикладі " Підключіть бекенд" на домашній сторінці Angular .
Мене бентежать параметри функцій контролера:
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() {
...
});
}
Ці функції контролера викликаються у routeProvider, але жоден з параметрів не вказаний.
$routeProvider.
when('/', {controller:ListCtrl, templateUrl:'list.html'}).
when('/edit/:projectId', {controller:EditCtrl, templateUrl:'detail.html'}).
when('/new', {controller:CreateCtrl, templateUrl:'detail.html'}).
otherwise({redirectTo:'/'});
});
Єдине , що я міг би знайти так далеко , що , можливо , пояснює , що відбувається це «Ін'єкція послуги в контролери» , що пояснює $location, $timeoutале не параметри методу angularFireі fbURL.
Мої конкретні запитання:
Якими можуть бути параметри контролера?
Де викликаються функції контролера з їх параметрами? Або параметри не викликаються, а лише речі, пов'язані з контролером, де асоціація відбувається з великою кількістю магії Angular.js (якщо так, чи можу я побачити вихідний код на github)?
Де
angularFireвизначено?Як
fbURLпов’язано параметр in у:angular.module('project', ['firebase']). value('fbURL', 'https://angularjs-projects.firebaseio.com/'). factory ...Чи є десь місце, де я можу бачити всі послуги, наприклад
$locationі$timeout, що надає Angular.js? (Я намагався знайти список, але не вдалося.)