Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我得到一个未定义的javascript对象属性,而该属性确实存在_Javascript_Angular Ui Router_Angular Promise - Fatal编程技术网

为什么我得到一个未定义的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

我有一个关于Javascript的问题,可能还有一些有棱角的承诺

打印整个对象时:

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))
产生了什么?我如何删除这个问题?这确实是一个打字错误,因此不太相关。我的代码因为一个愚蠢的打字错误而无法工作……你是对的。非常感谢。我愚蠢的错误。。。