2012-10-14 3 views
4

저는 ember.js를 사용하는 응용 프로그램과 스프링 MVC로 작성된 나머지 API를 개발하고 있습니다. 그 위에 여러 위젯이있는 대시 보드를 만들어야합니다. 모든 위젯을 자체 동작으로 사용하고 다른 API 메소드를 호출합니다. 나는 위젯의 각 종류에 대해 하나의 컨트롤러 서브 클래스를 가질 것을 생각하고 있었다. 그런 다음 인스턴스를 생성하고 뷰를 컨테이너보기에 추가합니다. 그러나 ember는 각 컨트롤러에 대한 인스턴스를 자동으로 생성하므로 따라갈 수있는 좋은 경로입니까? ember.js 커뮤니티에 어떤 제안이 있습니까?Ember.js 기반 대시 보드

도움 주셔서 감사합니다.

+4

@pangratz이 작성한 http://code418.com/ember.js-dashboard/을 (를) 볼 수 있습니다. 소스 코드는 여기에 있어야합니다 : https://github.com/pangratz/dashboard –

+0

나는 그것을 보았습니다, 그것은 많은 흥미로운 것들을 포함하고 있지만 제 문제에 대한 해결책은 아닙니다. –

+0

좋아, 나는 실수로 자신의 필요에 맞출 수 있다고 생각했다. (프로젝트에 많은 위젯이 있기 때문에. 그러나 이것은 당신이 찾고있는 것과 같은 위젯이 아닌 것 같다.) –

답변

4

보다는 각 위젯에 대한 슬롯, 차라리 ContainerView 것 위젯 영역 (열, ...)에 의해 슬롯을 가질 것이다 일 나는 것으로 사용자의 설정에 따라 위젯 뷰를 동적으로 추가합니다.

+0

예 실제로 그런 식으로 생각합니다. –

+0

당신을 환영합니다 :-) 기꺼이 도와 드리겠습니다. 더 많은 정보가 필요하십니까? 그렇지 않은 경우 대답을 수락하는 것을 고려할 수 있습니다. –

+0

예, 경로를 사용하여 모든 컨트롤러가 Ember에 의해 인스턴스화됩니다.이를 피할 수있는 방법이 있습니다. 각 위젯 유형에 대해 한 가지 유형의 컨트롤러가 필요합니다. 그래서 동일한 유형의 위젯이 두 개있는 경우 해당 컨트롤러 유형의 인스턴스가 두 개 있습니다. –

5

아이디어가 꽤 좋아 보입니다.

확실히 구조화 할 수있는 방법이 많이 있습니다. 이후 라우터에서 다음

{{outlet topWidgetView}} 
{{outlet leftWidgetView}} 
... 

, 대시 보드 경로의 connectOutlets 방법, 연결 위젯 : 나는 아마도 몇 outlets, 각 위젯 "슬롯"에 대한 하나를 가지고하는 DashboardView 및 DashboardController을 만들고, 그 템플릿에 제안 대시 보드 인스턴스화했습니다

router.get('applicationController').connectOutlet('dashboard'); 

router.get('dashboardController').connectOutlet({ 
    outletName: 'topWidgetView', 
    name: 'fooWidget' 
}); 
router.get('dashboardController').connectOutlet({ 
    outletName: 'leftWidgetView', 
    name: 'barWidget' 
}); 
+1

나는 콘센트를 여기에 사용할 것인가? 페이지는 정적 인 것처럼 보이고 위젯은 전환되지 않습니다. 그러나이 솔루션은 유연한 장점을 가지고 있습니다. –

+0

기본적으로 각 위젯에는 x 및 y 좌표가 있습니다. x는 지역 및 y 해당 지역의 주문 –