次のように角度でページタイトルを定義したい:
標準PageController
:
angular.module('admin').controller('AdminController',
function($scope) {
// emit an event to rootscope
$scope.$emit('setPageTitle','Administration');
}
);
次に実行ブロックで:
angular.module('core').run(function($rootScope){
$rootScope.$on('setPageTitle',function(evt,title){
$rootScope.$broadcast('setPageTitle',title); // The error is thrown from this line
});
});
そして最後にPageHeaderController
:
angular.module('core').controller('PageHeaderController',
function($scope) {
$scope.$on('setPageTitle',function(evt, title){
$scope.pageTitle = title;
});
}
);
$rootScope
このように、 eachPageController
に注入する必要はありませんが、$scope
それは他のタスクによく使用されます。
しかし、2 番目のコード ブロックの上記の行でこのエラーが発生します。
RangeError: 最大呼び出しスタック サイズを超えました
ここで何が問題なのですか? ここで無限ループの原因がわかりません。これらの手順を実行しただけだと思うからです。
- 子から放出
- rootscope で処理し、子にブロードキャストする
- 特定の子で処理する