0

我遇到了在这个问题中发现的完全相同的问题。但是,这两个答案都不适用于我的情况。

我的问题视频:https ://www.youtube.com/watch?v=ByjmwmamemM

在此处输入图像描述

当我的应用程序加载时,有几个弹出窗口,它们都带有 ng-show 检查。它们都开始了,false但是 3-4 秒(长时间)弹出框出现,然后消失。

根据我上面链接的问题的答案,我应该尝试在头部的顶部加载 Angular,如果这不起作用,那么添加.ng-cloak到我的 CSS 和有divs问题的。

两者都没有工作:(

以前有人遇到过这个问题吗?

索引.html:

在此处输入图像描述

<body ng-app="tickertags">

    <div ui-view></div>

dashboard.html <- 第一个模板加载到ui-view

<div ng-controller="DashCtrl">
    <top-notification></top-notification>
    <alerts-panel></alerts-panel>
    <search-popover></search-popover>
    <tags-search></tags-search>
    <tags-filter></tags-filter>

    <div class="dash-body" ng-click="bodyClick()">
        <header>
            <platform-header></platform-header>
            <control-header></control-header>
            <view-header></view-header>
        </header>

        <tickers-panel></tickers-panel>
        <tags-panel></tags-panel>

        <section id="panel-activity" class="activity-panel">
            <chart-header></chart-header>
            <chart-iq></chart-iq>
            <social-media-panel></social-media-panel>
        </section>
    </div>

    <overlay></overlay>
</div>

弹出窗口:

在此处输入图像描述

searchPopover:(隐藏前 3-4 秒)

<div ng-show="searchPopoverDisplay" class="search-popover" ng-cloak>

tagSearchPopover:(隐藏前 3-4 秒)

<div ng-show="tagsSearch.tagsFuzzyResults" class="tag-search-popover" ng-cloak>

tagFilterPopover: (<- 这个 popover 消失最快,0.5 秒)

<div ng-show="tagsFilterOn" class="tags-filter-popover" ng-click="captureClick()" ng-cloak>

ng-斗篷

// ng-cloak
[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
    display: none !important;
}
4

3 回答 3

1

默认情况下将它们隐藏在 css 中,然后在角度加载时覆盖。3-4 秒的延迟可能是在您发出的所有其他请求中获取和加载角度所需的时间(您应该检查您的网络面板)。

.display-on {
    display: block !important;
    opacity: 1 !important;
}

ng-class="{'display-on': searchPopoverDisplay}"
于 2015-05-30T01:58:49.597 回答
1

我知道这已得到解答,但我有另一个解决方案。

使用 bootstrap.css:

<div class="collapse" ng-class="{'collapse': [falsy after ng evaluates] }"

如果需要,这将删除折叠类,但它会以隐藏状态开始,直到 angular 可以评估它。

否则使用任何设置 display:none 的类,并使用 ng-class 将其删除。

于 2015-08-17T18:26:27.267 回答
1

div默认隐藏并防止在页面完全加载之前显示它,您可以添加ng-hideclass属性。例如:

<div ng-show="searchPopoverDisplay ng-hide" class="search-popover" ng-cloak>
于 2015-12-23T11:16:31.557 回答