2013-01-10 2 views
1

보기 클래스는 App.BlockView입니다. 속성은 selected이고이보기를 클릭하면 selected 속성이 토글됩니다.Emberjs View 클래스의 모든 인스턴스에 대한 속성을 설정하는 방법

컨테이너의 배경을 클릭하는 것과 같은 특정 이벤트를 캡처 할 때 모든보기 (또는 사실로 설정된보기)에서 selected 속성을 false로 설정하려고합니다. 어떤 종류의 인스턴스가 생성되었는지에 상관없이 뷰 클래스의 모든 인스턴스를 수집하고 속성을 설정하는 방법은 있습니까?

내보기는 {{View App.BlockView}}과 같은 핸들 막대 템플릿에서 만들어 지므로 참고 사항을 유지하지 않습니다.

답변

2

보기를 등록하고 등록을 취소 할 수 있습니다. 예 :

+1

어떻게 deselectAll() 함수를 트리거 할 수 있습니까? 나는 컨트롤러에서 App.BlockView.deselectAll()을 할 수 있다고 생각하지만,이 정적 인 방법을 사용하는 것은 좋지 않습니다. –

+0

어떤 이유로 나는 Ember가 모든 나의 견해에 대한 언급을 유지하고 그것들을 이용할 수있게 할 것이라고 기대하고있었습니다. 그러나이 솔루션은 구현하기 쉽고 완벽하게 작동합니다. 루크 감사합니다! – Aras

+0

@ sly7_7, 네 말이 맞아. 클래스를 사용하는 것은 약간의 냄새입니다 (글로벌이므로). 내 머리 꼭대기에서, 주입 된 레지스트리의 일종에 뷰 인스턴스를 등록 할 수 있습니다.이 인스턴스는 컨트롤러에 삽입되거나 모든 인스턴스에 영향을 미치는 작업을 트리거해야하는 모든 위치에 삽입됩니다. –

관련 문제