javascript - 访问 AngularJS 常量

标签 javascript angularjs associative-array

我的 AngularJS 应用程序中有以下常量,并希望使用下面所示的函数访问其值。问题是我将键作为字符串传递,但显然如下面的代码所示,它返回未定义,所以我想知道是否有一种方法可以将传递给常量键的字符串转换为返回与该键对应的正确常量值被通过?谢谢

myApp.constant('clients', {
    clientData: "clientDetails",
    clientList: "clients" });


getConstV : function(Key){
      //this one returns clientDetails
      console.log(clients.clientData);           

      //This one FAIL...returns undefined   
      console.log(clients.Key);            
    }

我如何调用 getConstE 如下:

   getConstV('clientDetails');

最佳答案

你的问题不是AngularJS问题,而是Javascript问题:在Javascript中,你可以通过两种方式访问​​关联数组:一种是点符号array.key,另一种是括号符号数组[键]。如果您使用点分符号,Javascript 会尝试访问关联数组内名为 key 的属性。但是,在您的对象中,不存在具有该名称的属性,并且您将获得 undefined。相反,括号表示法可让您决定如何访问关联数组(使用常量变量)。回顾一下:这个符号

array["key"]

产生与

相同的结果
array.key

但是如果您想要一个灵活的解决方案(使用变量),您必须以这种方式使用括号表示法

array[key]

其中 key 显然是一个变量。

Difference between using bracket (`[]`) and dot (`.`) notation

关于javascript - 访问 AngularJS 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24286337/

相关文章:

javascript - jQuery 切换在 IE 中不起作用

javascript - 制作从 html 到 ifttt 的触发器

angularjs - 基于元素属性插值的指令中的动态 templateUrl

ios - 在 IOS 中使用 NSPredicate 按数组的一个元素过滤数组的 NSArray

bash - 在循环期间访问 KV 对中的值

javascript - 我无法在React上正确调用其他组件中的模态组件

php - PHP 的 LESS 编译器

javascript - ng-animate 在通过 webpack 加载时拒绝工作

jquery - 拖动的元素没有返回到正确的位置

php - 在 PHP 中从 CSV 创建多维关联数组