2014-02-19 1 views
0

Marionett이 제작 한 블로그의 예를 사용해 보겠습니다. 블로그 게시물은 하위 앱이며 경로 post/:id을 연결합니다. Marionette.Controller에서 상속 된 컨트롤러도 있습니다. 아주 정상.마리오네트의 컨트롤러를 닫아야할까요?

각 히트 수를 post/:id으로 설정하면 새 컨트롤러 인스턴스가 만들어져 관련 모델 및 뷰가 관리됩니다. 컨트롤러 인스턴스는 App.vents를 트리거하지만 App.vents에서는 수신 대기하지 않습니다.

제 질문은 사용자가 탐색 할 때 컨트롤러가 너무 많이 생성되므로 컨트롤러에서 close() 메서드를 사용할 수있는 경우 인스턴스 닫기에 신경 써야합니까? 닫지 않으면 메모리 누수가 발생합니까?

감사합니다.

답변

1

컨트롤러 내부 내용에 따라 메모리 누수가 발생할 수 있습니다. 또한 컨트롤러가 listenTo를 사용하여 다른 모델/객체의 이벤트를 볼 경우 좀비 이벤트가 생성 될 수 있습니다. 코드를 보지 않으면 확실하게 말할 수 없습니다.

일반적으로 컨트롤러를 닫지 않는 이유는 무엇입니까? 이 작업을 수행하는 방법은 (BackboneRails 튜토리얼에서) 첫 번째 뷰 컨트롤러에 렌더링 (일반적으로 레이아웃)을 주 뷰로 지정한 다음 뷰의 닫기 이벤트에 바인딩하는 것입니다. 뷰가 닫히면 컨트롤러가 닫기를 호출합니다. 이것을 기본 컨트롤러에 내장하여 자동으로 발생시킬 수 있습니다. 이것은 나를 위해 꽤 잘 ...

+0

에반, 네 말이 맞아. 사실 나는 브라이언의 뚜껑처럼 이미 그것을했지만 잊어 버렸습니다. 귀하의 답변에 감사드립니다. 나는 그것을 회상하고 더 많은 이해를했습니다. –

관련 문제