2013-05-15 2 views
0

새로 고침하지 않는 방법을 가져, 그래서 약간의 인내에 대해 기쁘게 용서 나의 영어 :백본 상용구 - 내 첫 번째 질문은 여기에 수집

내가 브라우저의 주소 표시 줄에 링크를 입력하면 모두 OK입니다. 하지만 브라우저에서 요소를 클릭하면 컬렉션이 비어 있습니다. 그러나 주된 문제는 항상 서버로부터의 동일한 응답이 있지만, "dont load"항목을 가져 와서 렌더링 빈 콜렉션을 봅니다.

내가 백본 상용구를 사용

Browser.Views.Catalog는 - 그것은 Backbone.View Browser.Catalog - 그것은 Backbone.Collection

이다

내 라우터 :

var Router = Backbone.Router.extend({ 

    routes: { 
     '' : 'browse'   
    }, 
    refreshCatalog: function(folder){ 
     app.layout.setViews({ 
      "#catalog" : new Browser.Views.Catalog({ 
       collection: app.catalog 
      }) 
     }).render(); 
    }, 
    browse: function(folder){ 

     app.catalog = new Browser.Catalog(); 

     app.folders.fetch({ 
      error: function() { console.log(arguments); }, 
      success: this.refreshFolders(folder), 
      data: $.param({folder: folder}), 
      cache:false 
     }); 
     //app.catalog = new Browser.Catalog();    
     app.catalog.fetch({ 
      error: function() { console.log(arguments); }, 
      success: this.refreshCatalog(folder), 
      data: $.param({folder: folder}), 
      cache:false 
     }); 
    }, 

답변

1

I 초기화 함수에서 카탈로그를 설정해야합니다.

app.catalog = new Browser.Catalog(); 
그것을 #catelog을 검색하면 설정 한 때 페이지가 너무로드 될 때 0

는 초기화 함수가 호출

initialize: function (options) { 
    app.catalog = new Browser.Catalog(); 
} 

(이 기능을 추가) 여기에 가야한다 http://backbonejs.org/#Router-constructor