Ich muss grundsätzlich einen Server aufrufen, der mir eine JSON-Struktur zurückgibt, bevor der Controller geladen wird.AngularJS - Probleme bei der Verwendung der Auflösung
Ich habe viele Methoden verwendet, um das zu archivieren, aber es funktioniert nicht. Es zeigt mir keinen Fehler und die Seite wurde leer. Irgendeine Ahnung von dem, was vor sich geht?
Dies ist mein Controller ..
angular
.module('app',[
'ngAnimate',
'ui.router',
'ui.bootstrap',
'ngCookies'
])
.run(function($rootScope) {
$rootScope.backendServer = "http://localhost:5000/";
})
.config(['$urlRouterProvider','$stateProvider', function($urlRouterProvider,$stateProvider) {
$stateProvider
.state('cms',{
url: '/my',
templateUrl: './app/templates/my.html',
controller : 'my',
resolve: {
dbState: function ($q) {
var defer = $q.defer();
Database.check().then(function (s) {
defer.resolve(s);
});
return defer.promise;
}
}
})
}])
.controller(function ($scope){
})
... und das ist mein Service:
angular
.module('app')
.factory('Database',['$http', '$rootScope','$q', function($http, $rootScope, $q) {
return {
check: function() {
var call = $rootScope.backendServer + 'cms/database/check';
return $http.get(call);
}
}
}]);
zu lösen ist Programm erhalten in dann? 'Database.check(). Dann (function (s) { defer.resolve (s); });' –
Sie haben vergessen, 'Database' factory zu der Auflösungsfunktion zu injizieren, vermeiden Sie auch versprechen anti-Muster –
Sie meinen. .Ich muss gleichzeitig Versprechen auf dem Controller und auf dem Resolver bauen? –