我使用下面的格式来使用TypeScript定义一个值,但是我不确定它是否是#34;正确的"这样做的方式。
module app.global {
"use strict";
export class GlobalInfo {
userId: string;
environment: string;
}
angular.module("bulkAddMemos")
.value("GlobalInfo", GlobalInfo);
}
这很好用 - 我可以将它注入我的控制器和服务中,并将其用作这些值的共享存储。没有TypeScript,如果我想为这些对象属性之一声明一个默认值,我可以这样做:
angular.module("bulkAddMemos")
.value("GlobalInfo", { userId: "", environment: "TEST" });
我尝试使用TypeScript做同样的事情,但下面的方法都没有奏效。每当我尝试访问environment
属性时,它都是undefined
。
尝试1
module app.global {
"use strict";
export class GlobalInfo {
userId: string;
environment: "TEST";
}
angular.module("bulkAddMemos")
.value("GlobalInfo", GlobalInfo);
}
尝试2
module app.global {
"use strict";
export class GlobalInfo {
userId: string;
environment: string;
constructor(){
this.environment = "TEST";
}
}
angular.module("bulkAddMemos")
.value("GlobalInfo", GlobalInfo);
}
是否有人知道如何使用TypeScript定义.value
以允许您为属性设置默认值?我知道我可以启动它并在应用程序启动时设置默认值,但我真的想知道如何在不诉诸于此的情况下执行此操作。
答案 0 :(得分:1)
应该是
[
module app.global {
"use strict";
export class GlobalInfo {
userId: string;
environment: "TEST";
}
angular.module("bulkAddMemos")
.value("GlobalInfo", new GlobalInfo);
}
是类(即GlobalInfo
),因此应该将其实例化以使值成为对象。