Typescript角度控制器构造函数不执行

时间:2014-02-02 23:41:52

标签: angularjs typescript

这行代码运行后

    cockpit.controller('shell', shellCtrl);

在我的主模块中,shell控制器使用angular应用程序的_invokeQueue注册,但shellCtrl的构造函数中的代码永远不会触发。为什么不呢?

这是shellCtrl的TypeScript

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');
        }
    }
}

}

1 个答案:

答案 0 :(得分:1)

您需要从html调用它。基本上,您需要ng-controller="shell"根据您的代码。

PS:我有关于这个主题的详细视频:http://www.youtube.com/watch?v=WdtVn_8K17E&hd=1