如何消除 ngShow 初始化的延迟?当 ng-cloak 失败时?
How to remove delay from ngShow initialization? When ng-cloak fails?
我 运行 准确 same problem found in this question。然而,这两个答案对我来说都不起作用。
我的问题视频:https://www.youtube.com/watch?v=ByjmwmamemM
当我的应用程序加载时,有几个弹出窗口对所有这些弹出窗口进行了 ng-show 检查。它们都从 false
开始,但是在 3-4 秒(很长时间)后弹出窗口出现,然后消失。
根据我上面链接的问题的答案,我应该尝试在头部部分的顶部加载 Angular,如果这不起作用,则将 .ng-cloak
添加到我的CSS 和有问题的 divs
。
两者均无效:(
其他人运行以前遇到过这个问题吗?
Index.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;
}
在 css 中默认隐藏它们,然后在 angular 加载时覆盖。 3-4 秒的延迟可能是在您发出的所有其他请求中获取和加载 angular 所花费的时间(您应该检查您的网络面板)。
.display-on {
display: block !important;
opacity: 1 !important;
}
ng-class="{'display-on': searchPopoverDisplay}"
我知道这个问题已经得到解答,但我有另一个解决方案。
使用 bootstrap.css:
<div class="collapse" ng-class="{'collapse': [falsy after ng evaluates] }"
如果需要,这将移除折叠 class,但它会以隐藏状态开始,直到 angular 可以对其进行评估。
否则使用设置 display:none 的任何 class,并使用 ng-class.
删除它
要使 div
默认隐藏并防止它在页面完全加载之前显示,您可以将 ng-hide
添加到 class
属性。例如:
<div ng-show="searchPopoverDisplay ng-hide" class="search-popover" ng-cloak>
我 运行 准确 same problem found in this question。然而,这两个答案对我来说都不起作用。
我的问题视频:https://www.youtube.com/watch?v=ByjmwmamemM
当我的应用程序加载时,有几个弹出窗口对所有这些弹出窗口进行了 ng-show 检查。它们都从 false
开始,但是在 3-4 秒(很长时间)后弹出窗口出现,然后消失。
根据我上面链接的问题的答案,我应该尝试在头部部分的顶部加载 Angular,如果这不起作用,则将 .ng-cloak
添加到我的CSS 和有问题的 divs
。
两者均无效:(
其他人运行以前遇到过这个问题吗?
Index.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;
}
在 css 中默认隐藏它们,然后在 angular 加载时覆盖。 3-4 秒的延迟可能是在您发出的所有其他请求中获取和加载 angular 所花费的时间(您应该检查您的网络面板)。
.display-on {
display: block !important;
opacity: 1 !important;
}
ng-class="{'display-on': searchPopoverDisplay}"
我知道这个问题已经得到解答,但我有另一个解决方案。
使用 bootstrap.css:
<div class="collapse" ng-class="{'collapse': [falsy after ng evaluates] }"
如果需要,这将移除折叠 class,但它会以隐藏状态开始,直到 angular 可以对其进行评估。
否则使用设置 display:none 的任何 class,并使用 ng-class.
删除它要使 div
默认隐藏并防止它在页面完全加载之前显示,您可以将 ng-hide
添加到 class
属性。例如:
<div ng-show="searchPopoverDisplay ng-hide" class="search-popover" ng-cloak>