私が経験している状況は、フェッチが正常に機能していることです。コレクションからモデル変数にアイテムを割り当てるメソッドにステップインするか、1〜2秒間一時停止すると、バックボーンコレクションのデータを確認できます。すべてが順調です:コード行this.memberが入力されます
this.member = this.members.get(1);
。コードを実行させるだけでは、nullモデルをビューに渡すことになります。何が欠けているのかわかりません。コレクションにアクセスする前に、コレクション内のデータをバインドする必要がありますか?私はバックボーンに恋をしようとしていますが、これまでのところ、彼女は残酷な愛人でした...
`
//create the namespace
var Endeavor = {
Models: {},
Collections: {},
Views: {},
Templates: {}
};
Endeavor.Models.Member = Backbone.Model.extend({
idAttribute: "Id"
});
Endeavor.Collections.Members = Backbone.Collection.extend({
model: Endeavor.Models.Member,
url: "Http://localhost:60000/api/members/" + "1", // $.cookie('UserId')
initialize: function () {
console.log("Members collections init");
}
});
Endeavor.Views.MemberView = Backbone.View.extend({
id: "memberForm",
template: "#memberTemplate",
initialize: function () {
console.log('init member view');
},
render: function () {
console.log('memberView render called');
console.log(this.model.toJSON());
var html = $(this.template).tmpl();
$(this.el).html(html);
$("#Name").text = this.model.Name;
}
});
jQuery(document).ready(function () {
// router
Endeavor.Router = Backbone.Router.extend({
routes: {
"": "lists",
},
lists: function () {
this.members = new Endeavor.Collections.Members();
this.members.fetch();
this.member = this.members.get(1);
var memberView = new Endeavor.Views.MemberView({ model: this.member });
memberView.render();
$("#content").html(memberView.el);
}
});
// populate local variables
var appRouter = new Endeavor.Router();
Backbone.history.start();
});
`。