0
我想在加載來自服務器的數據時顯示我的模板。AngularJS:在控制器收到所有數據後加載templateUrl
我創建了一個名爲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() {}
}
任何想法?
謝謝。