2011-12-24 2 views
3

This nice article은 모델 내부의 모델에 속한 뷰를 추적하지 않도록 권장합니다. 반대는 어떨까요? 보기가 기반으로하는 모델을 추적하는 것이 좋습니다.보기에서 모델을 추적해야합니까?

없이는 상상하기 어렵습니다. 아마도 권장되는 방법은 이벤트 등을 사용하는 것일 수 있습니다.

답변

6

뷰는 항상 모델에 대한 참조를 유지합니다. myView.model 또는 myView.collection.models를 통해 액세스 할 수 있습니다.

뷰의 특성으로 인해 뷰에서 모델에 대해 알지 못하게하는 경우를 상상할 수 없습니다. 이벤트 바인딩은 모델을 참조하는 뷰에서 발생합니다. collection.add 이벤트에 대해 생각해보십시오. 컬렉션에 대한 참조에 바인딩하지 않은 경우 불가능합니다.

0

대부분의 경우 뷰는 해당 모델 원인을 알아야하며 모델 시각화입니다. 따라서 모델은 뷰 없이도있을 수 있지만 모델이없는 뷰는별로 의미가 없습니다.

언제나 그렇듯이보기가 모델을 직접 알지 않아야하는 경우가 있습니다. 사용자가 제품을 추가하고 해당 제품을 구성 할 수있는 바구니를 생각해보십시오. 제품이있는 테이블, 제품 수의 바구니 ico 및 총량을 표시하는보기와 같이 모델을 시각화하는 여러보기가 있습니다. 모두 같은 모델을 공유합니다. 따라서 사용자가 새 모델을 생성 할 때 이전 모델을 삭제하거나 새로운 모델을 만든 후에 새 모델을 만든 다음 뷰에 전달해야합니다. 확실히 당신은 화재로 사건에이를 수 있습니다. 그러나 뷰에 모델에 대한 프록시를 전달할 수도 있으므로 뷰가 항상 프록시와 통신하고 때로는 새로운 모델이 만들어지는 것을 결코 알지 못합니다.

관련 문제