2

꽤 짜증나는 문제에 봉착하고 있으며 오류를 파악하기가 어려워 도움을 요청하기로 결정했습니다.Backbone.Marionette가 CollectionView를 사용하려고 할 때 오류가 발생했습니다.

전환하는 패널을 나타내는 단일 페이지 응용 프로그램에 마리오네트 레이아웃보기가 있습니다. 내가 레이아웃의 자식으로 CollectionView를 추가하려고 할 때까지 잘 작동합니다. 나는 잘못된 것을하고 있지만 오류는별로 도움이되지 않습니다.

Uncaught TypeError: undefined is not a function backbone.marionette.js:1240 
Marionette.CollectionView.Marionette.View.extend._initChildViewStorage backbone.marionette.js:1240 
Marionette.CollectionView.Marionette.View.extend.constructor backbone.marionette.js:1014 
child backbone.js:1531 
Marionette.Layout.extend.initialize 

은 내가이 경우 정의해야 할 기능을 알아낼 수 없습니다 :

는이 오류를 얻고있다. 이건 내 CollectionView 내가 사용하는 것을 시도하고있다

return Marionette.Layout.extend({ 
     template: Template, 
     className: "page", 

     initialize: function(options) { 
      this.collection = new DataSet(); 
      this.collection.fetch();           

      // ADD THE VIEW 
      var dataview = new DrinkCollectionView({ collection:this.collection }); 

      // SHOW THE VIEW 
      this.content.show(dataview); 

     }, 

     regions: { 
      content: "#page-content" 
     }, 

    }); 

(가 요구하는 래퍼에 앉아)

여기 내 '페이지'레이아웃입니다. 나는 이것을 행운과 함께 작동 시키려고 노력하기 위해 최소한으로 삶아 냈다.

return Marionette.CollectionView.extend({ 
     collection: MyDataSet, 
     itemView: MyItemView, 
    }); 

제가 init 메소드에서 뭔가를 생성하는 것으로 잘못하고 있다고 가정합니다. 그러나 이것을 수행하는 올바른 방법이 무엇인지 모르겠습니다.

도움을 주시면 감사하겠습니다.

감사합니다, G mu is too short 말했다 어떻게

+0

는 당신이 성공 했습니까? Marionette를 1.2에서 1.4로 업데이트 한 후에도 동일한 오류가 발생했습니다. – sashaegorov

답변

0

, 여기에 무슨 무슨 말을하기 어렵다.

1) '마리오네트를 반환의 사용의 경우 정말 확실하지 : 어쨌든 당신이 Template처럼 바르를 정의하면 다음 내가 볼 Marionette.CollectionView

0

두 가지에 같은 Marionette.Layout를 정의하기 전에 살펴보십시오. Layout.extend ' 나중에'new '를 사용하여 객체를 생성한다고 가정합니다. 대신 '의 OnRender'

var MyLayout = Marionette.Layout.extend {...} 
var _myLayout = new MyLayout(); 

2) 지역 내에서 렌더링되어야한다 동등해야한다는 의미 :

onRender: function() { 
    // SHOW THE VIEW 
    this.content.show(new DrinkCollectionView({ collection:this.collection })); 

}