这是我的MemberView.js ......
define([
'jquery',
'underscore',
'backbone',
'collections/MembersCollection',
'text!templates/memTemplate.html'
], function($, _, Backbone, MembersCollection, memTemplate) {
var MembersView = Backbone.View.extend({
el: $("#page"),
initialize: function() {
var that = this;
this.collection = new MembersCollection([]);
this.collection.fetch({
success : function(collection, response, options) {
that.render();
},
error: function(collection, response, options) {
console.log('members fetch error: '+response.responseText);
alert(response.responseText);
}
});
},
render: function() {
var data = { members : this.collection.models };
var compiledTemplate = _.template( memTemplate, data );
this.$el.html( compiledTemplate );
}
});
return MembersView;
});
这是我的MemberCollection.js ......
define([
'jquery',
'underscore',
'backbone',
'models/Member'
], function($, _, Backbone, Member) {
var MembersCollection = Backbone.Collection.extend({
model: Member,
initialize : function(models, options) { },
url : '/modular-backbone/server/member',
parse: function (response) {
console.log("In Parse=" + response.length);
return response;
}
});
return MembersCollection;
});
从来没有“In Parse =?”在控制台中所以我不得不假设collection.parse没有激发。此外,如果我在view.render方法中放置一个中断,collection.models总是一个零长度数组,即使我可以在获取成功响应中清楚地看到2个成员记录。我错过了什么?
非常感谢您的建议: - )
答案 0 :(得分:0)
...难以置信
我回去清理了几个js文件中的一堆注释掉的行,再次运行应用程序,现在它完美运行了。这毫无意义。