2014-02-21 3 views
1

Marionette를 처음 사용합니다. 그래서 꽤 기본일지도 모릅니다.모델 추가시 마리오네트 컬렉션보기가 업데이트되지 않습니다

전 세계적으로 초기화 된 컬렉션이 있으며 생성 중에 비어 있습니다.

App.Colors= Backbone.Collection.extend({ 
    model : App.Color, 
    comparator : "price"  
}); 


var appColors = new App.Colors(); 

이 빈 컬렉션으로 마리오네트 컬렉션보기를 만드는 경우.

var colorview= new App.ColorView({collection:appColors}); 

이상 컬렉션 appColors에 추가하십시오.

appColors.add({code:'red'}) 

collection.add를 수신 한 이후 자동으로 업데이트되지 않아야합니다. 이 같은이 있어야합니다

가 작동하기 위해서는
colorview.collection.add({code:'red'}) 
+0

CollectionView의 모양은 무엇입니까? 비어 있지 않은 컬렉션을 전달하면 해당 모델이 예상대로 렌더링됩니까? – max

+0

네, 렌더링됩니다. – user3084985

답변

1

, 당신이 이벤트를 추가 컬렉션에 렌더링 뷰를 바인딩해야합니다보기 선언에 너무 basicly, : 내가 입력하면 그것을 잘 작동합니다 알고

App.ColorView = Backbone.View.extend({ 
    initialize: function() { 
     this.listenTo(this.collection, 'add', this.render); 
     ... 
    } 
    ... 
}); 
+0

Marionette의 collectionView가 이미 이것을 추가합니다. 어쨌든, 이것은 제가 시도한 첫 번째 것 중 하나였습니다. 작동하지 않는다 : ( – user3084985

+0

'colorview.collection.add ({code : 'red'})''를 테스트 했습니까?''잘 작동 할 것입니다 .' 컴퓨터 과학자가 의지하는 주장이 아닙니다. –

+0

예, 물론입니다. 이것을 시도했습니다. 나는 이것을 시도하기위한 제안을 얻을 것이므로 명백한 것을 말하고 싶어했다. :)하지만이 방법을 내가보기를 업데이 트하고 싶지 않습니다. 모듈은 꽤 복잡합니다. 간단한 코드로 문제를 언급했습니다. 데이터는 다른 모듈에서 업데이트되지만 뷰는 많은 계산을 기반으로 별도로 렌더링됩니다. – user3084985