为什么我得到一个未定义的javascript对象属性,而该属性确实存在
我有一个关于Javascript的问题,可能还有一些有棱角的承诺 打印整个对象时:为什么我得到一个未定义的javascript对象属性,而该属性确实存在,javascript,angular-ui-router,angular-promise,Javascript,Angular Ui Router,Angular Promise,我有一个关于Javascript的问题,可能还有一些有棱角的承诺 打印整个对象时: console.log(constants); 输出: Object {PARENT_NEEDS: Promise} 而当我尝试打印对象的属性时,如下所示: console.log(constants.PARENTS_NEEDS); 我将未定义视为输出 谁能解释一下为什么第二个输出没有定义 以下是我如何在UI路由器配置中设置对象: resolve: { constants: ['con
console.log(constants);
输出:
Object {PARENT_NEEDS: Promise}
而当我尝试打印对象的属性时,如下所示:
console.log(constants.PARENTS_NEEDS);
我将未定义视为输出
谁能解释一下为什么第二个输出没有定义
以下是我如何在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}}}}
这是个打字错误
Object {PARENT_NEEDS: Promise}//notice single form of PARENT
而对于console.log
则提到了另一个名称
console.log(constants.PARENTS_NEEDS);//plural
console.log(JSON.stringify(constants))
产生了什么?我如何删除这个问题?这确实是一个打字错误,因此不太相关。我的代码因为一个愚蠢的打字错误而无法工作……你是对的。非常感谢。我愚蠢的错误。。。