을 다시 칠되지 않는 DIV와 히트에게 문제를 갖고있는 것 같다 (!? 바로이 때문이다) :백본이
backboneQuote.Routers.ApplicationRouter = Backbone.Router.extend({
routes: {
"" : "home",
"edit/:id": "quoteEdit"
},
initialize: function(){
this.headerView = new backboneQuote.Views.headerView();
$('.header').html(this.headerView.render().el);
if(!this.itemsView){
this.items = new backboneQuote.Collections.ApplicationCollection([
{id: 1, name: "item 1"},
{id: 2, name: "item 2"},
{id: 3, name: "item 3"}
]);
this.itemsView = new backboneQuote.Views.itemsView({collection: this.items});
}
this.content = $('.container');
},
home: function(){
this.content.html(this.itemsView.render());
},
quoteEdit: function(id){
this.editQuoteView = new backboneQuote.Views.editQuoteView({model: this.items.where({id: parseInt(id, 10)})});
$('#editQuote').html(this.editQuoteView.render().el);
this.content.html($('#editQuote').html());
}
을});
renderItem: function(model){
var itemView = new backboneQuote.Views.itemView({model: model});
itemView.render();
$(this.el).append(itemView.el);
return this;
},
render: function(){
this.collection.each(this.renderItem);
},
내가 (클릭 이벤트가 벌금을 발사한다) "홈"기능을 다시 응용 프로그램을 탐색 요소를 클릭하지만 "this.itemsView"의 내용을 결코 :
내 itemsView 물건 렌더링 "this.content"div에 넣는 것 같습니다. 아무도 여기에 뭔가 잘못 알아들을 수 있습니까?
또 다른 방대한 도움으로 누군가가 여기에서 볼 수있는 것에 대한 전반적인 BackboneJS 지혜를 제공 할 수 있다면 거대한 도움이 될 것입니다.
홈 기능에서 'render'는 html을 반환하지 않습니다. 'qouteEdit'에서했던 것처럼'.el' 속성을 호출해야합니다. 이 질문에있는 오타가 아니라 코드에서 가정합니다. –
@AmithGeorge 당신은 그것이 오타라고 생각할 것입니다,하지만 아니요, 저는 여전히 배우고 있습니다! 이 오류가 발생합니다 : "Uncaught TypeError : 끝에 엘을 추가 할 때 '정의되지 않은'el '속성을 읽을 수 없습니다 ... – benhowdle89
'this.itemsView.render()'가 정의되지 않은 값을 반환하는 것을 의미합니까? itemsView의'render' 함수가'return this;'를 가지고 있는지 확인할 수 있습니까? –