2012-10-11 45 views
1

有沒有一種方法可以在每次更改ng-view時調用通用控制器?即我希望每次加載新的$路由時調用一個公共控制器。ng-view的公共控制器

回答

3

如果您爲不同的路由指定了自定義控制器,那麼我不知道您可以指定一個始終被調用的公共控制器,除非您使用某種繼承並始終調用基地控制器。

另一種方法是訂閱路由服務廣播的事件。

例子:

function MyController($rootScope, [...]) { 
    $rootScope.$on('$routeChangeSuccess', function (current, previous) { 
     // ... 
    }); 
} 

你有可用的事件及其參數here的列表。

我相信你也可以添加屬性,方法等到$rootScope,你可以在你的視圖中使用綁定,這要歸功於Angular的綁定機制如何工作。如果它沒有在當前作用域上找到它,則會檢查它的父級等直到根作用域。

相關問題