当前位置: 首页 > 面试题库 >

Angular.js-隐藏内容直到加载DOM

宇文灿
2023-03-14
问题内容

我在Angularjs中遇到问题,在我的数据从服务器返回之前,HTML出现了闪烁。

这是演示该问题的视频:http: //youtu.be/husTG3dMFOM-注意#|
和右边的灰色区域。

我尝试了ngCloak,但没有成功(尽管ngCloak确实阻止了括号未如期出现),并且想知道隐藏内容的最佳方法,直到Angular填充HTML。

我在控制器中使用了以下代码:

var caseCtrl = function($scope, $http, $routeParams) {
    $('#caseWrap').hide(); // hides when triggered using jQuery
    var id = $routeParams.caseId;

    $http({method: 'GET', url: '/v1/cases/' + id}).
        success(function(data, status, headers, config) {                   
            $scope.caseData = data;

            $('#caseWrap').show(); // shows using jQuery after server returns data
        }).
        error(function(data, status, headers, config) {
            console.log('getCase Error', arguments);
        });
}

…但是我一次又一次地听到不要从控制器操作DOM。我的问题是如何使用指令实现这一目标?换句话说,如何隐藏指令附加的元素,直到从服务器加载所有内容?


问题答案:

在您的 CSS中 添加:

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

并像下面这样向您的div 添加一个“ ng-cloak ”属性:

<div id="template1" ng-cloak>{{scoped_var}}<div>

doc:https://docs.angularjs.org/api/ng/directive/ngCloak



 类似资料:
  • 问题内容: 我有一些类似的HTML 在Angular加载之前,我是否可以隐藏?所以它只会说 我似乎有一些解决方案,例如在Angular加载之前将整个身体隐藏起来,但我宁愿不要这样做。 问题答案: 是的,请使用ng- cloak 。只需添加或添加到这样的元素 使用指令 使用类 这只是一组CSS规则,并且随着Angular渲染DOM,它会删除ng-cloak,因此可见一个元素。

  • 我有一个400px宽的DIV,包含两个并排的DIV,每个DIV的宽度为400px,高度为600px。两个DIV的宽度是固定的,但是高度可以变化。我希望隐藏第二个DIV,并完整地显示第一个DIV,在DIV中不滚动。 我希望是可见的,但是由于某些原因,中的隐藏了它。

  • Since 8.0 hideLoading 隐藏全局大菊花 使用方法 AlipayJSBridge.call('hideLoading'); 代码演示 显示/隐藏全局loading框 <h1>点击以下按钮看不同效果</h1> <p>注意安卓下显示loading后,会覆盖整个界面,所以请使用系统回退键关闭loading</p> <button class="btn show">显示loading<

  • ap.hideLoading() 隐藏加载提示。 代码示例 <script src="https://gw.alipayobjects.com/as/g/h5-lib/alipayjsapi/3.1.1/alipayjsapi.inc.min.js"></script> <button class="btn btn-default">showLoading</button> <script>

  • 我对前端代码中的可访问性标准比较陌生。 我的问题是: 为了实现可访问性,首先加载所有HTML内容并通过“hidden”属性显示/隐藏它是否更好? 或者我可以动态加载内容并用适当的属性填充它吗? 如果是,您建议我向内容添加哪些属性以通知用户内容已更新和/或更改? 例如: 我有一个带有一些按钮/选项卡的navbar,这些按钮/选项卡可以加载适当的内容。我可以加载所有内容,然后显示/隐藏is,类似于下面

  • 问题内容: 我的网站上有一堆隐藏图像。他们的容器DIV具有style =“ display:none”。根据用户的操作,某些图像可能会通过javascript显示。问题是打开页面时我的所有图像都被加载了。我想通过仅加载最终变得可见的图像来减轻服务器的负担。我想知道是否有一种纯CSS方式来做到这一点。这是我目前正在使用的两种hacky /复杂方法。如您所见,这不是干净的代码。 这是方法2: 问题答案