我想调用函数内部的名称变量 mycollection.fetch()。实际上每当我尝试声明name变量时 全球它无法工作。提前谢谢你。
var MyModel = Backbone.Model.extend({
defaults: {
"id": "",
"name": ""
}
});
var MyCollection = Backbone.Collection.extend({
url: "http://ec2-54-186-169-140.us-west-2.compute.amazonaws.com/automation-poc-api/list",
model: MyModel,
parse : function(response){
return response;
//api returns objects in the content attribute of response, need to override parse
}
});
var myCollection = new MyCollection();
myCollection.fetch({
success: function(col) {
// console.log(col.toJSON()[0].lists[0].name);
var name=col.toJSON()[0].lists[0].name;
}
});
答案 0 :(得分:0)
您在回调中本地声明了名称。
如果您定义名称
var name;
在调用myCollection.fetch()之前,你可以放
name=col.toJSON()[0].lists[0].name;
成功回调内部。请注意,在异步提取完成之前,不会更新名称值。如果你之前尝试过这个并且没有看到值,那可能是因为没有发生响应并且名称值尚未初始化。