我有一篇文章,保存到 Controller 中的 $scope.mydata 中。我通过参数将这些数据提供给返回函数的服务。
服务:
module.factory('myservice', function () {
return function servicefunction(mydata) {
var test = _.keys(mydata).length;
console.log("mydata", mydata);
console.log("test", test);
Firebug in Firefox 在 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 []
。我需要访问该值
。测试返回 1 表示状态。
为什么通过 _.keys 测试找到状态而不是值?
最佳答案
您似乎正在尝试访问从 mydata.$$state
的原型(prototype)继承的属性(value
) 。在这种情况下,使用 _.keys
将永远不会列出 value
。
很可能它暂时被继承,因为它是空的,一旦设置它就会成为自己的属性。
为什么不简单地像这样访问它:mydata.$$state.value
?它应该适用于两种情况(继承和拥有)。
我可能缺乏您的上下文的主要部分,因此如果它仍然不起作用,则值得提供有关您的数据的更多信息。
关于javascript - _.keys 未找到 Firebug 中显示的每个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33410735/