0
當我通過.when('/search/:searchString', {
設置包含命名組的routeprovider時,爲每個不同的頁面加載:searchString
它會加載分配的控制器的新實例。帶命名組的AngularJS routeprovider停止多個控制器實例
這使我有一個問題,當我有一個$rootScope.$on('searchUpdated',
因爲它對每個控制器實例上的廣播消息作出反應。
有沒有辦法讓它只加載一個控制器,併爲每個請求使用相同的控制器,如果不是,有沒有辦法在頁面離開時銷燬控制器。
控制器可能被銷燬,但在$ rootScope中註冊的監聽器不會去任何地方,因爲'$ rootScope'永遠不會被銷燬。你應該發佈更多的代碼,但問題似乎是你在每個**控制器實例的'$ rootScope'上註冊一個監聽器。 – gkalpak
你在那裏有錢的權利。我在rootScope上擁有它:S很容易忽略。 – ozatomic