我试图让 Backbone.ajax 返回集合“集合”。我需要程序的另一部分的模型。
我想让数据在与 ajax 方法相同的级别上可用。
Backbone.ajax({
dataType: "jsonp",
url: "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=twitterapi&count=25",
data: "",
success: function(val){ val
var Model = Backbone.Model.extend({});
var Collection = Backbone.Collection.extend({
model:Model
});
collection = new Collection(val);
console.log(collection);
}
});
不!您的连接的存在几乎不应该取决于任何“ajax”调用!您需要将集合的定义和实例移到 ajax 成功方法之外以及 ajax 调用之前的某个位置,然后reset
or add
成功方法或类似方法中的集合。您需要它是外部的,以便您可以在实际需要数据之前定义所有视图绑定等;否则你最终会陷入一团糟——你正试图解决这个问题avoid通过使用骨干网。
//definitions
var MyModel = Backbone.Model.extend({});
var MyCollection = Backbone.Collection.extend({
model:Model
});
//wherever you need a collection instance
collection = new MyCollection();
//wherever you need to do the ajax
Backbone.ajax({
dataType: "jsonp",
url: "https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=twitterapi&count=25",
data: "",
success: function(val){
collection.add(val); //or reset
console.log(collection);
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)