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