我已经声明了以下文件
应用程序.types.ts
/// <reference path="../../typings/tsd.d.ts"/>
module App{
export var Module = "website";
//---------------Controller Base Types---------------
export interface IScope extends ng.IScope {
events: Controller;
}
export class Controller{
protected scope: IScope;
static id : string;
constructor($scope: IScope,controllerId: string){
this.scope = $scope;
this.scope.events = this;
Controller.id = controllerId;
}
}
}
应用程序.ts
/// /// <reference path="app.types.ts"/>
module App {
"use strict";
var app = angular.module(Module, [
// Angular modules
'ngMessages','ngAnimate','ngTouch','ngAria','ngSanitize',
// Custom modules
'ui.router','ui.bootstrap','ui.bootstrap.tpls'
// 3rd Party Modules
]);
}
代码编译为 Js 没有错误,但变量 Module 在文件中未定义。
我也尝试使用 App.Module 但变量仍然未定义
更新:我检查了 app.types.js 是否插入到 app.js 之前的 html 中。那里生成的 Js 文件似乎不正确。
//App.js
(function(){/// <reference path="app.types.ts"/>
var App;
(function (App) {
"use strict";
var app = angular.module(App.Module, [
// Angular modules
'ngMessages', 'ngAnimate', 'ngTouch', 'ngAria', 'ngSanitize',
// Custom modules
'ui.router', 'ui.bootstrap', 'ui.bootstrap.tpls'
]);
})(App || (App = {}));
}());
//App.types.js
(function(){/// <reference path="../../typings/tsd.d.ts"/>
var App;
(function (App) {
App.Module = "website";
var Controller = (function () {
function Controller($scope, controllerId) {
this.scope = $scope;
this.scope.events = this;
Controller.id = controllerId;
}
return Controller;
})();
App.Controller = Controller;
})(App || (App = {}));
}());