我正在使用角度ui-router。 我有以下结构:
我已经解决了播放事件'event1'的状态a.b,并且我在parentA控制器上有一个监听器。
登录时工作正常。但是在随后的浏览器刷新中,我可以看到该事件正在广播,但是监听器无法正常工作。
感谢任何帮助!
答案 0 :(得分:0)
这个代码可以帮助你
$scope.$on('$viewContentLoaded', onLoaded);
$scope.$on('viewContentLoadComplete', onLoadComplete);
$rootScope.$on('$stateChangeStart',
function (event, toState, toParams, fromState, fromParams) {
$scope.isViewLoading = true;
});
$rootScope.$on('$stateChangeSuccess',
function(event, toState, toParams, fromState, fromParams) {
$scope.isViewLoading = false;
});
function onLoaded() {
$scope.isViewLoading = true;
$scope.$broadcast('viewContentLoadComplete');
}
function onLoadComplete() {
$scope.isViewLoading = false;
}
当你在父母或孩子的观点之间进行遍历时,你总是会陷入这种情况,你可以处理你想要的东西。
比较简单的解释也欢迎更好的代码。
您可以在主控制器中定义它。这里$ scope.isViewLoading只是一个gif图像,设置为隐藏并显示为加载器。