필자는 백본에서 뷰와 모델을 연관 시켰습니다. 보기는 모델 변경 사항을 관찰하고 그에 따라 표시 영역을 변경합니다. 예 :하나의 핸들러에서 여러 백본 모델 변경을 처리하는 방법
var Part = Bacbone.Model.extends({
defaults:{
partId = null,
manufacturer: null,
manufactureDate: null,
type: null
}
});
var PartsCollection = Backbone.Collection.extends({
model:Part;
)};
var Car = Backbone.Model.extends({
defaults:{
carModel: null,
carName: null,
color: null,
partsCollection: null
},
//Overwite the parse method to fill partsCollection
parse: function(response){
// creating partsCollection from response and adding an attribute
// response.partsCollection = new PartsCollection();
retrun response;
}
});
위 구조와 유사한 구조를 가지고 있습니다. 디자인 전략에서 모델 변경시 뷰 내용을 변경하고 있습니다.
이제 예를 들어 5000 부품 중 1000 부품으로 제조업체 'A'를 제조업체 'B'로 대체 할 경우. 이것은 내 견해를 수정해야하며 내 견해로는 모델 변경 이벤트를 듣고 있습니다. 1000 개 부품 수정으로 인해 1000 개의 변경 이벤트가 트리거됩니다.
제조업체 변경으로 인해 부품 모델의 'manufacturerDate'속성을 변경하고 'manufacturerDate'attr도 변경하면 1000 개의 다른 이벤트가 트리거됩니다.
내 생각에 이러한 많은 이벤트를 처리하는 것이 내가 생각하는 좋은 생각이 아닐 수도 있습니다. 아무도 나에게이 문제를 해결하는 방법을 제안 할 수있다.
완전히 잘못하고 있습니다! 같은 시간에 1000 가지가 왜 변하는가?! 최종 사용자가 모든 것을 한 곳에서 볼 수 있습니까? 나는 todomvc (1000 + todos)로 매우 무거운 테스트를 작성했고 angularjs가이 경우 다른 것보다 매우 빠르다는 아이디어를 생각해 내었습니다. 나는 또한이 경우에 대한 프로젝트를 시작했다. (Lilith.js, 아직 준비된 백본 포크는 아니지만 여전히 아이디어를 얻을 수있다!). Btw, 나는 3 가지 옵션을 추천 할 수있다 : react.js 또는 다른 프레임 워크를 사용하고, 필요에 따라 다른 바인딩 방식 또는 라이브러리를 사용한다. 1000 번 변경하지 마라! –