0
我遇到的情況是,我的抓取工作正常,我可以看到我的骨幹集合中的數據,如果我步入方法,我從中分配項目收集到模型var或暫停一秒鐘或兩秒鐘,一切都很好:代碼行this.member得到填充骨幹模型變量只在我進入方法時填充
this.member = this.members.get(1);
。如果我只是讓代碼運行,那麼我認爲通過一個空模型傳遞給我的觀點。我不明白我錯過了什麼。在訪問集合之前,是否需要綁定集合中的數據?我想在愛上骨幹,但到目前爲止,她一直一個殘酷的情婦......
`
//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();
});
`。
+1:打我吧。 – JayC
謝謝你們兩位!我很欣賞這一點。 –
儘管要跟進並幫助其他人,還有更好的方法來執行此操作嗎?例如,上面我提取數據的函數只是幾個提取中的一個,爲了使代碼更易於閱讀,我將其移除。等待異步調用完成後效率會更高嗎?那個函數會是什麼樣子? –