这行代码运行后
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');
}
}
}
}
答案 0 :(得分:1)
您需要从html调用它。基本上,您需要ng-controller="shell"
根据您的代码。
PS:我有关于这个主题的详细视频:http://www.youtube.com/watch?v=WdtVn_8K17E&hd=1