为什么我得到一个未定义的javascript对象属性,而该属性确实存在

时间:2015-08-04 21:48:44

标签: javascript angular-ui-router angular-promise

我对Javascript和可能有角度的承诺进行了审讯。

当我打印整个对象时:

console.log(constants);

输出:

Object {PARENT_NEEDS: Promise}

然而,当我尝试按如下方式打印对象的属性时:

console.log(constants.PARENTS_NEEDS);

我看到undefined作为输出......

任何人都可以解释为什么第二个输出未定义?

以下是我在UI路由器配置中设置对象的方法:

resolve: {
           constants: ['constantsService', function (constantsService) {
           return {PARENT_NEEDS: constantsService.PARENTS_NEEDS};
            }]
         }

编辑1

console.log(JSON.stringify(constants));

输出:

{"PARENT_NEEDS":{"$$state":{"status":1,"value":{"PARENTS_TO_CHILDCARE_WORKER":0,"PARENTS_TO_PARENTS":1}}}}

1 个答案:

答案 0 :(得分:4)

这是一个错字

 Object {PARENT_NEEDS: Promise}//notice single form of PARENT

鉴于console.log还有其他名称

console.log(constants.PARENTS_NEEDS);//plural