我可以使用服务(Typescript类)和接口实现常量和枚举吗?

时间:2014-12-15 14:41:51

标签: angularjs typescript

我一直在使用Typescript中的枚举:

enum Action {
    None,
    Registering,
    Authenticating
};

app.run(['$rootScope', appRun])

function appRun(
    $rootScope
    ) {
    $rootScope.Action = Action;
} 

这适用于我的控制器,我的服务和我的HTML但是我开始发现它很难使用,因为我不知道如何为枚举创建界面。另外我想知道使用$ rootScope是多么明智,因为我听说AngularJS 2可能不会使用它。

我也在使用以下常量:

.constant("appConstant", {
    appName: "My App",
    appVersion: 2.0,
    baseUrl: "http://localhost:3048"
});

有没有办法可以用服务的类,服务和接口替换常量和枚举(枚举功能)?

1 个答案:

答案 0 :(得分:1)

  

我的HTML然而我开始发现它很难使用,因为我不知道如何为枚举制作界面

枚举带有自己的界面。除此之外,枚举是基于数字的,因此允许的数量。例如:

enum Action {
    None,
    Registering,
    Authenticating
};

interface IRootScope {
    ActionValues:typeof Action
}

var $rootScope:IRootScope;
$rootScope.ActionValues = Action; 

var foo:Action = Action.None;
console.log(foo == $rootScope.ActionValues.None); // true