Angular 隐藏<;th>;以反应的形式

Angular 隐藏<;th>;以反应的形式,angular,angular-reactive-forms,angular-forms,angular4-forms,Angular,Angular Reactive Forms,Angular Forms,Angular4 Forms,是否可以在表中隐藏元素?我知道这在td的上是可能的。如果值为空,我试图隐藏td的,就像我在下面代码中尝试的值一样。请看下面我的代码。谢谢请查看此链接以进行编辑 出生日期 国籍 {{row.value.date} {{row.value.national} 您可以这样做: 在组件中,根据bookingsForm.controls.profiles.controls计算标志,如下所示: public hideNationality:boolean = bookingsForm.controls.p

是否可以在表中隐藏
元素?我知道这在td的上是可能的。如果值为空,我试图隐藏td的,就像我在下面代码中尝试的值一样。请看下面我的代码。谢谢请查看此链接以进行编辑


出生日期
国籍
{{row.value.date}
{{row.value.national}

您可以这样做:

在组件中,根据
bookingsForm.controls.profiles.controls
计算标志,如下所示:

public hideNationality:boolean = bookingsForm.controls.profiles.controls.every(x => x.value == null);
然后使用
*ngIf
将此标志连接到您的列


更优雅的方法是为每一列构建一个
映射
,并在其中存储一个可见性标志。然后通过
|keyvalue
管道对其进行迭代。

谢谢您的回答。顺便问一下,我应该把这个公共隐藏性放在哪里:boolean=bookingsForm.controls.profiles.controls.every(x=>x.value==null);?谢谢。@GraySingh您的HTML模板必须有一个角度组件作为后盾,这是您需要放置它的地方。(来自
bookingsForm
的组件)。如果你编辑你的问题,包括更多的源代码,我可以给你一个更深入的答案。计算也可以内联编写,但出于各种可读性和性能原因,我不建议这样做。我来做个闪电战给你。谢谢你我做了,给你:希望有帮助!
public hideNationality:boolean = bookingsForm.controls.profiles.controls.every(x => x.value == null);