2

我创建了一个预加载器,它在第一次加载页面时工作正常:http: //vivule.ee/1

但是,在页面内导航时,加载程序无法按预期工作。使用 FF 时可以很好地看到这一点。而不是加载器,它只显示空白背景。我正在使用 ng-cloak,没有它,而不是空背景,它将显示内容加载标签 {{}}。

我的加载器的工作方式如下 - 显示加载器直到加载内容,然后使用 ng-hide 隐藏加载器。我可以不使用 ng-hide,而是以某种方式监听 ng-cloak,比如当 ng-cloak 被激活时,它会显示加载器,而在加载内容时它会隐藏它,因为现在 ng-clock 似乎在 ng-hide 之前加载。

抱歉,如果问题太令人困惑:/

PS!要在页面内导航,请向下滚动到类似游戏并单击其中一个。

4

2 回答 2

0

我无法使用 ng-cloak 解决问题,而是这样做了 - 加载程序默认显示在页面上。当角度加载数据时,我发送 jquery 命令来隐藏加载器(这是在 myapp.controller 中完成的)。当我在页面内导航时,我使用 jquery 取消隐藏加载程序(代码再次在 myapp.controller 中) - 注意!我在加载新页面之前取消隐藏它。

隐藏和取消隐藏是通过简单的 display:none 和 display:block 完成的(取消隐藏是使用 jquery click 完成的)。

    $(".single_similar_game_container").click(function(e) {
        if (e.button == 0) {
            $("#spinner_bg").css("display", "block");
        }
    });
于 2014-11-15T21:17:36.490 回答
0

请注意,您可以覆盖 Angular 的 CSS 类并使用ng-cloak该类来显示页面元素。例如:

body div.wrap.ng-cloak div.preloader { display: block !important; }
body div.wrap.ng-cloak div:not(.preloader) { display: none!important; }
于 2014-11-15T21:20:54.330 回答