我有一個路由器和一堆控制器的角度應用程式,例如門禁控制器數據
articleApp.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/articles', {
templateUrl: 'templates/articles/index.html'
}).
when('/articles/:articleId', {
templateUrl: 'templates/articles/article.html'
}).
otherwise({
redirectTo: '/articles'
});
}]);
的控制器組織在模板中給出,例如,
<div ng-controller="ArticleCtrl">
<!-- [...] -->
</div>
現在,我想根據路線和頁面內容設置<head>
數據,如頁面標題,meta
數據等。數據顯然在控制器中,因此我現在正在設置<head>
數據。
不幸的是,這變得相當混亂:這裏的一個控制器,一個控制器,可能在同一個視圖中激活,這個設置頁面標題,一個設置頁面標題...一個調試迷宮。
理想情況下,我想只在一個地方設置元數據,上面的$routeProvider
對我來說似乎很理想。不幸的是,我們沒有訪問控制器的數據。或者我們呢?
是否可以從$routeProvider
訪問控制器數據?
感謝@Meeh這個想法。我不明白這是如何解決問題的。我仍然將所有'setTitles'分散在控制器中,而我更願意從'$ routeProvider'中調用'setTitle'。 –