2014-02-19 43 views
0

讓我們使用由Marionett構建的博客示例。該博文是一個子應用程序,並掛鉤路線post/:id。它也有一個控制器,從Marionette.Controller繼承。很正常。我應該關注木偶控制器的關閉嗎?

每打到post/:id將創建一個新的控制器實例,管理相關的模型和視圖。控制器實例將觸發App.vents,但不會偵聽App.vents。

我的問題是,由於在用戶導航時會創建很多控制器實例,我應該關注在控制器中有可用方法的情況下關閉實例嗎?如果不關閉它們會不會有內存泄漏?

謝謝。

回答

1

根據控制器內部的情況,可能會有內存泄漏。此外,如果你是控制器正在使用listenTo觀看其他模型/對象上的事件,你可能會得到殭屍事件的積累。沒有看到你的代碼,很難肯定地說。

一般來說,我想爲什麼不只是關閉控制器?我這樣做的方式(從BackboneRails教程)是讓第一個視圖控制器將渲染(通常是佈局)作爲主視圖,然後綁定到視圖的關閉事件 - 當視圖關閉時,控制器將自行關閉。您可以將其構建到基礎控制器中,以便它自動發生。這對我來說工作得很好......

+0

埃文,你說得對。其實我已經按照Brian的說法做了,但忘記了。感謝您的回答。我回憶說,並有更多的理解。 –