_.keys没有找到Firebug中显示的每个项目

时间:2015-10-29 09:45:30

标签: javascript angularjs firebug

我有一个帖子,保存到控制器中的$ 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 向我显示mydata包含的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为我提供Object { status=0},在DOM中有状态和value []。我需要访问value。测试返回1表示状态。

为什么要通过_.keys来测试状态而不是值?

1 个答案:

答案 0 :(得分:0)

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

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

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

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