收到后Restangular
对象,myObject
,看起来像:
获取$object: array[2]
领域,我做myObject[0]
结果是undefined
.
这是我的代码:
r = Restangular.service("patient_messages")
myObject = r.getList() # This returns the object on picture above
console.log("$object", myObject[0]) # result: $object undefined
谁能帮我弄到那个字段?
最佳答案
如果你试试这个:
console.log("myObject", angular.toJson(myObject));
你会得到这样的输出:
# myObject {"restangularCollection":true,"$object":[]}
myObject
的真正值是一个几乎空 的对象,它将在未来某个时刻用数据填充:当调用完成时 准确地说。这解释了不同的结果。
您在 Controller 中创建的Restangular 实例将返回$q.defer().promise。对象,其目的是允许相关方在完成时访问延迟任务的结果。
所以 myObject.$object[0]
还不存在,你的 controller 不会得到它,直到你调用 promise.then()
方法,它将返回一个新派生的 promise ,它看起来就像您在控制台中看到的那样:
用这个替换你的代码 console.log("$object", myObject[0])
它会起作用:
myObject.then(function(){
console.log("$object", myObject.$object[0]);
});
关于javascript - 获取 Restangular 对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31844202/