我想在backbone.js函数之外调用一个变量

时间:2016-08-02 09:49:58

标签: backbone.js

  

我想调用函数内部的名称变量   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;


                }

});

1 个答案:

答案 0 :(得分:0)

您在回调中本地声明了名称。

如果您定义名称

    var name;

在调用myCollection.fetch()之前,你可以放

    name=col.toJSON()[0].lists[0].name;

成功回调内部。请注意,在异步提取完成之前,不会更新名称值。如果你之前尝试过这个并且没有看到值,那可能是因为没有发生响应并且名称值尚未初始化。