2014-06-06 5 views
0

내 백본 응용 프로그램에서 Lodash (Underscore)의 _.union- 메서드를 사용하여 컬렉션을 병합하려고합니다. 내가 console.log(collection)을 수행 할 때BackboneJS + Lodash _.union 메서드

var myCollection = _.union([carsCollection], [motorcycleCollection], [bikeCollection]); 

이 나에게 각 child 컬렉션과 그 속성으로부터 모델의 배열을 포함 [child, child, child]을 제공합니다

그래서 나는 다음 있습니다. 지금까지는 좋은 질문이었습니다. 제 질문은 지금 :

보기에서 어떻게 표시 할 수 있습니까? 나는 시도 : 문제가 여기에있다 whta

this.insertView(new View({collection: myCollection })); 

하지만 didnt 한 작업 ...

는 아는 사람 있나요?

답변

1

백본 컬렉션은 모델 배열이 아니므로 _.union을 사용하면 모델 모음이 생성되지 않습니다. 나는 실제로 시도

+0

좋아 데모에 대한

var models = _.union( carsCollection.models, motorcycleCollection.models, bikeCollection.models ); var unitedCollection = new Backbone.Collection(models); 

http://jsfiddle.net/nikoshr/uc5cn/ 참조하십시오, 그것은 빈 컬렉션을 반환 : 당신은 collection.models 작업 후 새 컬렉션을 구축해야합니다. 예를 들어, 나는 '_.union' 메서드를 정의하기 전에'carsCollection.fetch()'를 사용합니다. 왜 그런가요? – SHT

+1

아마도'_.union'을 사용할 때 콜렉션이 비어 있기 때문에'fetch'는 비동기 적이기 때문에 차단되지 않습니다. http://stackoverflow.com/questions/9584870/backbone-js-fetch-not-actually- 설정 속성/9585427 # 9585427 예를 들면 – nikoshr