我有一个帖子,保存到控制器中的$ 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来测试状态而不是值?
答案 0 :(得分:0)
您似乎正在尝试访问从value
的原型继承的属性(mydata.$$state
)。在这种情况下,使用_.keys
将永远不会列出value
。
很可能它现在是继承的,因为它是空的,一旦设置它将成为自己的属性。
为什么不这样简单地访问它:mydata.$$state.value
?它应该适用于两种情况(继承和拥有)。
我可能缺少您的上下文的主要部分,因此如果它仍然不起作用,则值得提供有关您的数据的更多信息。