tôi rất nhầm lẫn về việc sử dụng phương thức tìm nạp mô hình backbone.js. Xem theo gương
xương sống router:cách phương thức tìm nạp mô hình backbone.js hoạt động
profile: function(id) {
var model = new Account({id:id});
console.log("<---------profile router-------->");
this.changeView(new ProfileView({model:model}));
model.fetch();
}
bước đầu tiên, tài khoản mô hình sẽ được khởi tạo, mô hình tài khoản trông như thế này.
define(['models/StatusCollection'], function(StatusCollection) {
var Account = Backbone.Model.extend({
urlRoot: '/accounts',
initialize: function() {
this.status = new StatusCollection();
this.status.url = '/accounts/' + this.id + '/status';
this.activity = new StatusCollection();
this.activity.url = '/accounts/' + this.id + '/activity';
}
});
return Account;
});
urlRoot property for it is what? Sau khi đối tượng mô hình được tạo, profileview sẽ được hiển thị với điều này this.changeView (new ProfileView ({model: model}));, chức năng thay đổi trông giống như thế này.
changeView: function(view) {
if (null != this.currentView) {
this.currentView.undelegateEvents();
}
this.currentView = view;
this.currentView.render();
},
sau khi render xem, thông tin hồ sơ sẽ không hiển thị được nêu ra, nhưng sau khi model.fetch(); thực thi câu lệnh, dữ liệu từ mô hình sẽ được hiển thị, tại sao? Tôi thực sự không biết làm thế nào lấy công trình, tôi cố gắng tìm hiểu, nhưng không có cơ hội.
cảm ơn đầu tiên cho câu trả lời, đây là mô tả rất hay. tôi có một số câu hỏi nhiều hơn, sau khi fetch() bắn sự kiện 'đồng bộ', xem sẽ tự động hiển thị? những gợi ý mà bạn cho tôi, bạn có thể làm cho một số ví dụ, vì tôi khá mới trong backbonejs và javascript tôi biết rằng ngôn ngữ tốt nhưng không phải là rất tốt. –
urlroot sẽ được ghi đè đúng không? Cuz của var base = _.result (this, 'urlRoot') || _.result (this.collection, 'url') || urlError() ;? –
Đối với câu hỏi đầu tiên của bạn, không có sự kiện đồng bộ hóa sẽ không tự động hiển thị chế độ xem. Nếu bạn muốn bật tính năng này, hãy thêm thông tin sau: "view.on ('sync', this.render, this);" –