Javascript _.密钥未找到Firebug中显示的所有项

Javascript _.密钥未找到Firebug中显示的所有项,javascript,angularjs,firebug,Javascript,Angularjs,Firebug,我有一篇帖子,保存到控制器中的$scope.mydata。我通过一个参数将这些数据提供给一个返回函数的服务 服务: module.factory('myservice', function () { return function servicefunction(mydata) { var test = _.keys(mydata).length; console.log("mydata", mydata); console.log("te

我有一篇帖子,保存到控制器中的$scope.mydata。我通过一个参数将这些数据提供给一个返回函数的服务

服务:

module.factory('myservice', function () {
    return function servicefunction(mydata) {
        var test = _.keys(mydata).length;
        console.log("mydata", mydata);
        console.log("test", test);
Firefox中的Firebug在包含以下内容的dom中显示我:

Object { $$state={...},  angularCollection=false,  $object={...},  mehr...}
测试返回5

我打字的时候

module.factory('myservice', function () {
    return function servicefunction(mydata) {
        var test = _.keys(mydata.$$state).length;
        console.log("mydata", mydata.$$state);
        console.log("test", test);
Firebug给了我
对象{status=0}
,在DOM中有status和
value[]
。我需要访问该
。测试返回1作为状态


为什么要通过查找状态而不是值的u.keys进行测试?

看起来您正在尝试访问从
mydata.$$state
原型继承的属性(
)。在这种情况下,使用
\键
将永远不会列出

很可能它现在是继承的,因为它是空的,一旦它被设置,它将成为自己的属性

为什么不简单地像这样访问它:
mydata.$$state.value
?它应该适用于两种情况(继承和拥有)


我可能缺少您的上下文的主要部分,因此如果它仍然不起作用,则值得提供有关您的数据的更多信息。

看起来您正在尝试访问从您的
mydata.$$state
原型继承的属性(
value
)。在这种情况下,使用
\键
将永远不会列出

很可能它现在是继承的,因为它是空的,一旦它被设置,它将成为自己的属性

为什么不简单地像这样访问它:
mydata.$$state.value
?它应该适用于两种情况(继承和拥有)


我可能缺少您上下文的主要部分,因此,如果它仍然不起作用,则值得提供有关您的数据的更多信息。

您所说的“在DOM中存在…”是什么意思?需要注意的是,
\键
将为对象提供自己的可枚举属性,而不是继承的属性。因此,如果
value
来自原型,它将不会被
\ukeys
列出。这意味着,当我单击“Object{status=0}”时,有状态和值。当我这样做的时候:var keystate=u.keys(mydata.$$state);或var-mapInState=551;.map(mydata.$$state);键中只有“status”和映射的[0]。您可以尝试使用
hasOwnProperty
方法来测试属性是否从原型继承,或者是否已为对象定义。在您的案例中,
mydata.$$state.hasOwnProperty(值)
输出什么?如果它是
真的
,则存在一个问题,因为它确实应该由
键列出。如果它是
false
,这意味着
属性被继承,并且
\ukeys
被定义为忽略它。mydata。$$state.hasOwnProperty()在mydata中返回false。$$state.hasOwnProperty(value),因为“值未定义”My bad,应该是
mydata。$$state.hasOwnProperty(“value”)
您所说的“在DOM中有…”是什么意思?需要注意的是,
\键
将为对象提供自己的可枚举属性,而不是继承的属性。因此,如果
value
来自原型,它将不会被
\ukeys
列出。这意味着,当我单击“Object{status=0}”时,有状态和值。当我这样做的时候:var keystate=u.keys(mydata.$$state);或var-mapInState=551;.map(mydata.$$state);键中只有“status”和映射的[0]。您可以尝试使用
hasOwnProperty
方法来测试属性是否从原型继承,或者是否已为对象定义。在您的案例中,
mydata.$$state.hasOwnProperty(值)
输出什么?如果它是
真的
,则存在一个问题,因为它确实应该由
键列出。如果它是
false
,这意味着
属性被继承,并且
\ukeys
被定义为忽略它。mydata。$$state.hasOwnProperty()在mydata中返回false。$$state.hasOwnProperty(value),因为“值未定义”My bad,应该是
mydata。$$state.hasOwnProperty(“value”)
mydata.$$state.value为我提供了一个未定义的值。好的,所以问题必须在之前解决。我只是想知道为什么Firebug在没有访问它的情况下向我显示它的价值。我从post请求中获取mydata,并通过参数将其提供给服务,我现在就在。该值现在是否已经是mydata的一部分?mydata。$$state.value为我提供了一个未定义的值。好的,所以问题必须在之前解决。我只是想知道为什么Firebug在没有访问它的情况下向我显示它的价值。我从post请求中获取mydata,并通过参数将其提供给服务,我现在就在。该值现在是否已经是mydata的一部分?