Javascript AngularJS NGF斗篷不工作

Javascript AngularJS NGF斗篷不工作,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,我有一个帖子分类页面,如果没有帖子,应该会显示一条消息。它在页面加载时显示HTML,然后将其隐藏。NgClope听起来应该能胜任这项工作,但我一点运气都没有。以下是我的模板文件中的HTML: <div ng-show="data.posts.length == 0" ng-cloak> <div class="no-posts"> <h2>Coming Soon</h2> <p>Sorry there

我有一个帖子分类页面,如果没有帖子,应该会显示一条消息。它在页面加载时显示HTML,然后将其隐藏。NgClope听起来应该能胜任这项工作,但我一点运气都没有。以下是我的模板文件中的HTML:

  <div ng-show="data.posts.length == 0" ng-cloak>
    <div class="no-posts">
      <h2>Coming Soon</h2>
      <p>Sorry there are posts here yet, check back soon.</p>
    </div>
  </div>
我错过了什么?这应该很简单吧

编辑:我还将此添加到HTML头部,但它不起作用:

<style type="text/css">
  [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
  }
</style>

[ng \:斗篷],[ng斗篷],[data ng斗篷],[x-ng-斗篷],.ng斗篷,.x-ng-斗篷{
显示:无!重要;
}

Ng cloack指令的工作方式完全不同于您的预期。它并没有隐藏HTML,而是在模板编译后显示它。 原因是,在浏览器中编译模板需要一段时间,在这段时间内,没有数据的丑陋模板将显示给用户。要隐藏未编译的模板,需要添加ng-Clope类(使其不可见)和ng-cloack指令,以便在模板编译后显示。 您在这里描述的问题还有另一个解决方案:您必须向元素中添加'ng-hide'类,它将被隐藏,直到ng show的表达式不接受'true'值

window.setTimeout(函数(){
angular.module('demo',[])
.controller('DemoController',['$timeout',函数($timeout){
var vm=这个;
vm.isLoaded=true;
}]);
引导(文档,['demo']);
}, 3000);

下面的消息将在3秒钟后出现
数据已加载

确保这个CSS应该从head标签开始加载。嗨,我也试过了,但它不起作用。谢谢,这就是为什么它不起作用的原因。所以我尝试了这个
ng hide ng show=“data.posts.length==0”
,得到了相同的结果。有什么想法吗?你添加了ng hide作为类还是作为属性?我添加了一个代码片段来演示ng hide类的用法谢谢。我想要的只是一条消息,显示是否没有帖子可以循环浏览。这样做似乎过于复杂。没有简单的解决办法吗?你是什么意思?您的代码是正确的,只需将ng hide类添加到div即可。
<style type="text/css">
  [ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
    display: none !important;
  }
</style>