私は Angular.js を学び始めたばかりで、Angular ホームページの「バックエンドを接続する」の例で project.js を見てきました。
コントローラー関数のパラメーターについて混乱しています。
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:'/'});
});
これまでのところ、何が起こっているのかを説明している可能性のある唯一のものは、「Injecting Services Into Controllers」です。$location
$timeout
angularFire
fbURL
私の具体的な質問は次のとおりです。
コントローラのパラメータは何ですか?
パラメータを使用して呼び出されるコントローラ関数はどこにありますか? または、パラメーターは呼び出されませんが、多くの Angular.js マジックで関連付けが発生するコントローラーに関連付けられているだけです (そうであれば、github でソース コードを確認できますか)。
どこで
angularFire
定義されていますか?パラメータ
fbURL
内のリンクは次のとおりです。angular.module('project', ['firebase']). value('fbURL', 'https://angularjs-projects.firebaseio.com/'). factory ...
Angular.js が提供する
$location
や などのすべてのサービスを確認できる場所はありますか?$timeout
(リストを見つけようとしましたが失敗しました。)