저는 Ember를 한동안 사용해 왔지만 때로는 최선의 방법을 찾기 위해 고생하고 있습니다. 그래서 컨트롤러와 뷰에 관한 엠버의 방법 중 하나가컨트롤러의 여러 인스턴스를 표시하십시오.
엠버의 디자이너의 의견, 즉이 라우터에 의해 강제되는 것은 그 주어진 기본 이름 (예 : "응용 프로그램", "CustomerEntry", "내 항목")에 대한 BaseNameView와 BaseNameController가 있어야합니다. - Ember guide
문제는 페이지에서 동일한보기의 여러 인스턴스를 원하는 경우입니다. 컨트롤러는 응용 프로그램을 시작하는 동안 만들어지기 때문에 응용 프로그램 네임 스페이스 아래에있는 싱글 톤이므로 모델 데이터의 두 인스턴스를 보유 할 수 없습니다.
하나의 솔루션은 컨트롤러 (및 모델 데이터)를 수동으로 생성하고 뷰에 전달하는 것입니다. 하지만이 경우 Ember가 자동으로 컨트롤러를 만들지 않기를 바랍니다. 다시 말해, Ember가 응용 프로그램 시작 중에 컨트롤러를 싱글 톤으로 만드는 이유는 무엇입니까?
동일한 컨트롤러의 인스턴스가 여러 개 필요합니까? 당신이 필요로하는 고유 한보기와 관련된 다른 컨트롤러를 가질 수있는 것처럼 들립니다. 컨트롤러는 모델 데이터의 다른 인스턴스를 보유하지 않으며 일반적으로 바인딩을 사용하여 뷰에 데이터를 프록시합니다. Ember 아키텍처에 대한 나의 이해는 View를 사용하는 아이디어가 DOM/CSS에 대한 책임이며 사용자 이벤트를 처리한다는 것입니다. 응용 프로그램 논리는 라우터/컨트롤러 수준으로 유지되므로 같은 데이터를 프록시해도 여러 개의 고유 한 컨트롤러가있는 것이 좋습니다. –