试图发布一个初学者问题,但没有超过"质量标准"过滤。 我通读了错误消息中的线程。初学者问题是否太基础?可以理解,但将它放在错误消息中可能会更好。我包含我的代码,我的英语在代码块之外是正确的。这个问题没有得到解决,或者至少没有从各种搜索模式中返回。无论如何都要对过滤器提出上诉,因为多次重写没有解决障碍或解决了我的,不可否认的初学者问题?在最后一次试图破解过滤器的尝试中,我只是简单地用一些英文编辑来粘贴我原来的问题。编辑 - 这似乎有效,但在上面的段落中没有jinx它。
尝试将数据加载到骨干网中但渲染功能未触发。 Firebug显示GET到达时使用正确的数据字符串。 我试图分配"这个"以变量和火为功能但仍然没有运气。
(function($) {
var DObj = Backbone.Model.extend({
defaults: {
dstring: 'dstring again'
},
});
var MObs = Backbone.Collection.extend({
defaults: {
model: DObj
},
model: DObj,
url: 'scr/bbone.php'
});
var MView = Backbone.View.extend({
initialize: function() {
this.collection = new MObs();
//this.collection.bind("reset", this.render, this);
this.collection.on("sync", this.render, this);
//this.collection.bind("change", this.render, this);
this.collection.fetch();
},
render: function() {
alert("here : ");
}
});
var newMob = new MView();
})(jQuery);
答案 0 :(得分:1)
我用mockjax重写代码来模拟来自服务器的响应,这里是:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-mockjax/1.5.1/jquery.mockjax.min.js"></script>
<script>
var DObj = Backbone.Model.extend({
});
var MObs = Backbone.Collection.extend({
model: DObj,
url: '/movies'
});
$.mockjax({
type: 'GET',
url: '/movies',
contentType: 'text/json',
status: 200,
response: function() {
this.responseText = JSON.stringify(new MObs([{ name: 'Lincoln' }, { name: 'Argo' }]));
}
});
var MView = Backbone.View.extend({
initialize: function() {
this.collection.on("sync", this.render, this);
},
render: function() {
alert("here : ");
}
});
(function($) {
var newCol = new MObs();
newMob = new MView({ collection: newCol });
newCol.fetch({
success: function () { console.log('Success'); },
error: function() { console.log('Error'); }
});
})(jQuery);
我认为代码存在许多问题,您特别要求的问题与服务器响应有关;您应该看到上面代码的提醒。我建议你阅读其他人的backbone.js文档。