Javascript Can';t从集合中提取数组对象
我有一个对象集合(POI),这些对象有几个不同的对象类数组。 我只需要获取一个depois,因为我已经更新了它,但是如果我尝试Javascript Can';t从集合中提取数组对象,javascript,parse-platform,Javascript,Parse Platform,我有一个对象集合(POI),这些对象有几个不同的对象类数组。 我只需要获取一个depois,因为我已经更新了它,但是如果我尝试 mycollection.at(indexOfPOI).fetch(); 无法检索数组对象,并且它们的属性未定义。但是如果我尝试这个 mycollection.fetch(); 所有对象都保存在集合中 是否有避免获取所有集合的选项 如果您只需要更新一个POI,那么下载n POI是非常高效的 谢谢你的帮助,请原谅我的英语水平 编辑: 对不起,我想我可以说得更清楚些。
mycollection.at(indexOfPOI).fetch();
无法检索数组对象,并且它们的属性未定义。但是如果我尝试这个
mycollection.fetch();
所有对象都保存在集合中
是否有避免获取所有集合的选项
如果您只需要更新一个POI,那么下载n POI是非常高效的
谢谢你的帮助,请原谅我的英语水平
编辑:
对不起,我想我可以说得更清楚些。
在不复制大量行的情况下显示更大的代码示例是相当复杂的。
总之,我有一个解析类“POI”,它包含指向其他类的指针数组,如“images”、“text”或“audio”,这些类包含一个文件
我修改一个POI,添加一个新指针或删除另一个指针,然后需要重新加载。”self.manageViewControl.collection'是POI集合(扩展Parse.collection)。如果我真的像你在下面看到的那样,它是有效的,但显然,如果我们不需要生育所有的POI,它会更好。
如果通过this.model.fetch()更改collection.fetch()-this.model是当前POI-,则添加的元素不会正确更新,例如,“done”属性未定义
我认为这可能是因为Parse.View,这取决于集合,如果只获取模型,则无法正确更新整个结构
谢谢
addElement: function() {
var name = "";
var array;
var self = this;
var r = 'text';
var lowercaseType;
var uppercaseType;
var defaultName = "nuevo Audio";
item = new Audio({
name: name,
done: false,
user: Parse.User.current(),
ACL: new Parse.ACL(Parse.User.current())
});
name = prompt("Por favor introduce el nombre del objeto", defaultName);
if (name != null) {
array = this.model.get("audio");
item.set('name', name);
for (i = 0; i < self.manageViewControl.collection.length; i++) {
if (self.manageViewControl.collection.at(i).id == self.model.id) {
index = i;
break;
}
}
item.save(null, {
success: function(item) {
alert('\"' + name + '\"' + ' ha sido creado con éxito.');
array.push({"__type":"Pointer","className":"Audio","objectId":item.id});
self.manageViewControl.collection.at(index).save({audio: array}, {
success: function() {
self.reload();
},
error: function(item, error) {
alert('Error al actualizar el POI: ' + error.message);
}
});
},
error: function(item, error) {
alert('Error al crear el objeto: ' + error.message);
}
});
}
}
},
reload: function() {
var self = this;
self.manageViewControl.collection.query = new Parse.Query(POI).include('text').include('images').include('model3D.textures').include('audio');
var index;
self.manageViewControl.collection.fetch( {
success: function(results) {
},
error: function(error) {
alert('Error');
}
});
},
addElement:function(){
var name=“”;
变量数组;
var self=这个;
var r='文本';
var小写字母;
var大写型;
var defaultName=“新音频”;
项目=新音频({
姓名:姓名,,
完成:错误,
用户:Parse.user.current(),
ACL:new Parse.ACL(Parse.User.current())
});
名称=提示(“名称”,默认名称);
if(name!=null){
数组=this.model.get(“音频”);
item.set('名称',名称);
对于(i=0;i
您能提供一个更大的代码示例吗?我已经回答过你的问题了。谢谢