Angular 如何检查视图中是否显示了角度方向的零部件

Angular 如何检查视图中是否显示了角度方向的零部件,angular,Angular,在我的angular项目中,我展示了使用自定义标记(应用程序电影卡)的带有NGO的电影卡。我使用自定义管道来过滤电影。当没有与用户搜索匹配的电影时,视图不会按预期显示任何电影卡。在这种情况下,我如何使用ng模板或其他方式显示类似“没有与您的输入匹配的电影”的替代消息 谢谢大家! 您可以定义一些#elseBlock(在此处您可以放置关于没有电影的消息),如果没有电影,您将显示这些消息 因此,逻辑是: <div *ngIf="moviesCount>0; else elseBlock"

在我的angular项目中,我展示了使用自定义标记(应用程序电影卡)的带有NGO的电影卡。我使用自定义管道来过滤电影。当没有与用户搜索匹配的电影时,视图不会按预期显示任何电影卡。在这种情况下,我如何使用ng模板或其他方式显示类似“没有与您的输入匹配的电影”的替代消息

谢谢大家!

您可以定义一些
#elseBlock
(在此处您可以放置关于没有电影的消息),如果没有电影,您将显示这些消息

因此,逻辑是:

<div *ngIf="moviesCount>0; else elseBlock">
  <div *ngFor=""....
</div>
<ng-template #elseBlock>your message here...</ng-template>


请展示您是如何实现这一点的。具体来说,像搜索和html模板调用的函数。我发布了Photoshot,它对我不起作用,因为电影存在并加载了,它们只是没有显示。问题是如何检测它们是否显示在视图中。我尝试使用模板引用变量,但没有成功。您只遇到了管道中的筛选/排序问题之一。您可能希望将过滤器/顺序逻辑移到组件。docs说:“Angular团队和许多经验丰富的Angular开发人员强烈建议将过滤和排序逻辑移到组件本身中。”ref:谢谢,我没有意识到这个问题。如何使用管道将过滤器逻辑移动到组件中?或者我需要写新的代码来过滤?谢谢,它成功了。您的方法的缺点是,每次更改搜索文本的电影类型时,我都需要从数据库中获取电影。有没有一种方法可以过滤电影而不这样做?你不必每次都去服务器。您可以只提取一次,将其放入
moviesRaw
数组中,然后在筛选函数中使用类似于
this.movies=this.moviesRaw.filter的内容(无论您的筛选条件是什么)。这只是一个最简单的方法。