나는 내 응용 프로그램과 홈 페이지에 표시되는 목록을 통해 액세스 할 수있는 각 게시물에 대한 다른 페이지에 하나의 메인 홈 페이지를 ..을백본 컬렉션 얻을 (ID) 메소드
내 라우터처럼 보이는 방법이있다 :
var AppRouter = Backbone.Router.extend({
initialize: function(){
this.model = new model();
this.collection = new collection();
},
routes: {
"" : "showForm",
"post/:id" : "showPost"
},
showPost: function(id){
var curmodel = this.collection.get(id);
var post = new postView({model:curmodel});
post.render();
$(".maincontainer").html(post.el);
},
showForm : function(){
var qcView = new qcV({model:this.model, collection:this.collection});
qcView.render()
$(".maincontainer").html(qcView.el);
}
});
이
<h2><a id= "<%=_id%>" href="#post/<%=_id%>"><%=name%></h2></a>
내 첫 번째 질문은 같은이 목록에서 게시물 링크 중 하나가 모습입니다 : 그것은 위험이 m에 해시 기반의 URL로 페이지를 링크 수 있나요 아나?
내 두 번째 질문은 : 내 홈페이지에서 링크 중 하나를 클릭하면 게시물보기로 이동하는 데 문제가 없습니다. 내 URL이 http://127.0.0.1:3000/#post/51ffdb93c29eb6cc17000034
과 같이 성공적으로 변경되고 특정 게시물의보기가 렌더링됩니다. 그러나 그 시점에서 페이지를 새로 고치거나 내 URL 표시 줄에 http://127.0.0.1:3000/#post/51ffdb93c29eb6cc17000034
을 직접 입력하면 라우터의 showPost 메서드에있는 this.collection.get(id)
메서드가 undefined
을 반환합니다. 왜 이런 경우인지 알아낼 수 있습니까? 가장 가능성이 "포스트"노선에 컬렉션을 가져 오는 아닌,
컬렉션이 존재하기 때문에 정말 흥미 롭습니다. 내 콘솔에서 인쇄 할 때 볼 수 있습니다. 내가 찾고있는 모델을 볼 수도 있습니다. –
우리는 분명히 중요한 것을 놓치고 있습니다. 데이터를 어디에서 가져 오는 중입니까? –