如何在angularjs中声明枚举?

mem*_*und 4 javascript enums angularjs

我想声明一些应该在我的应用程序的任何地方全局访问的枚举,例如:

enum AIState { Asleep, Idling, Chasing, Fleeing, HavingLunch };
Run Code Online (Sandbox Code Playgroud)

问题:在哪里以及如何使用angularjs应用程序声明这些枚举?

main.js:

var myApp = angular.module('myApp', []);
myApp.config(...);
Run Code Online (Sandbox Code Playgroud)

我后来想要使用它们来访问它们AIState.Asleep,所以我可以将它们作为参数传递并相应地委托我的逻辑.

mur*_*308 8

使用 constant

angular
    .module('myApp', ['ngRoute'])
    .constant("myConfig", {
        "key": "value"
    })
Run Code Online (Sandbox Code Playgroud)

你可以注入constant依赖,并可以使用它

myApp.controller('myButton', ['myConfig', function(myConfig) {
  var k = myConfig['key'];
});
Run Code Online (Sandbox Code Playgroud)

基本上你可以使用constantvalue.

一些参考

  1. 不变