angularjs - Typescript angular-kontrollerkonstruktor körs inte
Efter att den här kodraden körs
cockpit.controller('shell', shellCtrl);
I min huvudmodul registreras shellkontrollern med Angular-applikationens _invokeQueue, men koden i shellCtrl:s konstruktor körs aldrig. Varför skulle den inte göra det?
Här är TypeScript för shellCtrl
module cockpit {
'use strict';
export class shellCtrl {
public static $inject = [
'$location', '$rootScope', '$scope',
'localize'
];
public userId = 0;
constructor($location, $rootScope, $scope, localize) {
$scope.vm = this;
$rootScope.$on('localizeResourcesUpdated', function () {
$rootScope.title = localize.getLocalizedString('_appTitle_');
});
//If the userid is null go to login
if (this.userId == 0) {
$location.path('/login');
}
}
}
}
Svar #1
Du behöver anropa det från HTML. I princip behöver du ng-controller="shell" baserat på din kod.
PS: Jag har en detaljerad video om ämnet: http://www.youtube.com/watch?v=WdtVn_8K17E&hd=1