我正在使用来自https://github.com/PaulUithol/backbone-tastypie的backbone-tastypie,我无法获取收集数据。 那是我的代码:
var User = Backbone.Model.extend({
url: '/api/v1/user'
});
var HoraExtra = Backbone.Model.extend({
url: '/api/v1/horasextra/'
});
var HorasExtra = Backbone.Collection.extend({
url: '/api/v1/horasextra/',
model: HoraExtra
});
var Horas = new HorasExtra();
var activeUser = new User();
var HorasExtraView = Backbone.View.extend({
initialize: function() {
_.bindAll(this, "render");
},
render: function() {
var plantilla = Handlebars.compile($("#horas_extra_template").html());
var html = plantilla(Horas);
this.$el.html(html);
console.log(JSON.stringify(Horas));
}
});
var HorasExtraWidget = new HorasExtraView({el: $('#base')});
Horas.fetch({
data: {
"usuario__id": 2,
"hor_com__month": 11
}
});
HorasExtraWidget.render();
这是console.log的结果(JSON.stringify(Horas):
)[]
非常感谢
答案 0 :(得分:2)
我建议你在1-2天内服用tastypie,骨干并建立自己的简单项目。 然后,您将了解耦合这两个框架的基本问题。 没有这些知识,你尝试其他人的项目然后想知道“什么不起作用”是没有意义的。
根据我个人的经验,tastypie和javascript都非常简单,很容易结合。
我不是专家。
几点:尝试使用fetch显式获取模型,从成功回调中操作获取的模型,并观察模型URL,正斜杠等等。
好像你的收藏品是空的。
在控制台中查看是否有对服务器的GET调用。 如果没有,你实际上并没有从服务器上取任何东西。
答案 1 :(得分:0)
我使用了https://github.com/amccloud/backbone-tastypie然后你的代码应该是这样的,我想。未经测试。
var HorasCollection = Backbone.Tastypie.Collection.extend({
url: '/api/v1/horasextra/'
});
var HorasExtraView = Backbone.View.extend({
el: $('#base'),
entries: new HorasCollection(),
render: function() {
var that = this;
this.entries.fetch({
success: function(entries){
console.log("Entries", entries.models);
// var t = _.template(template, {hello: 'world'});
// that.$el.html(t);
},
error: function(model, response){
console.log("Error", response);
}
});
}
});
如果您正在尝试为数据创建表,请尝试我的jquery插件:) https://github.com/sspross/tastybackbonepie