隐藏特定页面

时间:2016-08-19 17:57:35

标签: angularjs progress-bar

我正在使用angular-loading-bar,我将它包含在角度模块中。 angular.module('myApp', [ 'chieffancypants.loadingBar'])

我想在加载登录页面时禁用/隐藏加载栏。 的本地主机:3000 /登录 对于其他页面,应该启用它。

转到文档后仍然无法解决此问题。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题。我决定声明一个全局变量来控制是否应该显示加载条。

在`loading-bar.js"中,声明拦截器后:

 var interceptor = ['$q', '$cacheFactory', '$timeout', '$rootScope', '$log', 'cfpLoadingBar', function ($q, $cacheFactory, $timeout, $rootScope, $log, cfpLoadingBar) {
     $rootScope.showLoading = true;

并在请求块中:

if (!config.ignoreLoadingBar && !isCached(config) && $rootScope.showLoading) 

我已使用$rootScope全局转换变量 然后,在请求之前我不想显示加载,我设置了这个:

$rootScope.showLoading = false;

在请求之后再次将其设置为true,这就行了。

答案 1 :(得分:2)

我的解决方法是将ignoreLoadingBar: true添加到控制器中的$http请求中。 然后我手动触发加载栏cfpLoadingBar.start()并在我完成加载图像时手动停止它 cfpLoadingBar.complete()

cfpLoadingBar.start()
    $http({
        method: 'GET',
        url: window.location.origin + '/api/photos/main',
        ignoreLoadingBar: true
    }).then( fucntion(bla){
      /// Do some stuff
      cfpLoadingBar.complete()
})