在接收到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 有人能帮我拿到那块地吗?
发布于 2015-08-06 11:23:30
如果你尝试这个:
console.log("myObject", angular.toJson(myObject));您将得到以下输出:
# myObject {"restangularCollection":true,"$object":[]}这就是myObject的真正价值,它是一个几乎为空的对象,在将来的某个时候,它将被数据填充:当调用完成时,准确地说。这解释了不同的结果。
您在您的控制器中创建的实例将返回一个$q.defer().promise对象,该对象的目的是允许感兴趣方在其完成时访问延迟任务的结果。
因此,myObject.$object[0]还不存在,您的控制器将无法访问它,直到您确定了一个promise.then()方法,该方法将返回一个新派生的承诺,该方法看起来就像您在控制台中看到的那个:
在您的代码console.log("$object", myObject[0])中替换以下内容,它将工作:
myObject.then(function(){
console.log("$object", myObject.$object[0]);
});https://stackoverflow.com/questions/31844202
复制相似问题