Ich habe alles versucht, UI-Router-Auflösung zu erhalten, um seinen Wert an die angegebene Controller-AppCtrl zu übergeben. Ich verwende Dependency-Injektion mit $inject
, und das scheint die Probleme zu verursachen. Was vermisse ich?Router Auflösung wird nicht in den Controller injizieren
Routing
$stateProvider.state('app.index', {
url: '/me',
templateUrl: '/includes/app/me.jade',
controller: 'AppCtrl',
controllerAs: 'vm',
resolve: {
auser: ['User', function(User) {
return User.getUser().then(function(user) {
return user;
});
}],
}
});
-Controller
appControllers.controller('AppCtrl', AppCtrl);
AppCtrl.$inject = ['$scope', '$rootScope'];
function AppCtrl($scope, $rootScope, auser) {
var vm = this;
console.log(auser); // undefined
...
}
bearbeiten Hier ist ein zupfen http://plnkr.co/edit/PoCiEnh64hR4XM24aH33?p=preview
Haben Sie es vermisst, 'auser' zu injizieren? 'AppCtrl. $ Inject = ['$ scope', '$ rootScope', 'auser'];' – PSL
die Injektion von 'auser' führt zu einem' [$ injector: unpr] 'Fehler. :( –
Sie können nicht ng-Controller zur Verfügung stellen Sie müssen es mit nur Route einrichten – PSL