サーバーからのデータがロードされたときにテンプレートを表示したいと思います。
データをロードするためにいくつかのサービスを内部に持つ Services というモジュールを作成しました。私の例では HomeService を使用しています。
var app = angular.module('MyApp', ['Services']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/',
{
templateUrl: 'home.html',
controller: 'Home_Ctrl',
resolve: {
loadData: //??
}
});
}]);
app.controller('Home_Ctrl', ['$scope', 'HomeService', function($scope, HomeService) {
$scope.data = HomeService.getData();
}
そのための約束を作る必要があると思います。この関数をコントローラー内に配置することは可能ですか?
つまり、次のようなことはしたくありません。
var ctrl = app.controller('Home_Ctrl', ['$scope', 'HomeService', function($scope, HomeService) {
//Do something
}
//Promise
ctrl.fct = function($q) {
}
私はそのようなものが欲しい:
app.controller('Home_Ctrl', ['$scope', '$q', 'HomeService', function($scope, $q, HomeService) {
//Do something
//Promise
this.fct = function() {}
}
何か案が?
ありがとう。