javascript - 为什么 ngIf 不适用于类属性

标签 javascript angular

在我的 Angular 应用程序中,我创建了一个显示一些数据的控件。 我有一个“className”类,它的一个字段 (ShowDetails) 被声明为 bool 值,因此如果用户单击一个按钮,我将设置 ShowDetails = true 并显示一个包含信息的 div。

@Input() className: ClassName;
...
ShowDetails($event){
  this.className.ShowDetails = true;
}
...
<app-details-info *ngIf="className.ShowDetails" (closed)="ClosedDetails($event)" [info]="className">

</app-details-info>

不幸的是它没有工作(并且它没有在控制台上打印任何错误),但是如果我改变

*ngIf="className.ShowDetails"

使用局部 bool 变量工作得很好。

我哪里错了?

最佳答案

尝试使用 ? 运算符:

<app-details-info *ngIf="className?.ShowDetails">

</app-details-info>

? 是模板中的安全导航运算符。此表达式 className?.ShowDetails 等效于 className != null ?类名.ShowDetails : null

关于javascript - 为什么 ngIf 不适用于类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58833266/

相关文章:

angular - 如何将 'md-sidenav' 放在 'md-toolbar' 之上

angular - 您如何在服务器端使用 angular universal 渲染 angular 应用程序并使用 ssl 证书?

angular - 如何在 Angular 组件中执行 DOM 操作?

javascript - Mongoose 模式方法或原型(prototype)函数?

javascript - 为什么 JsArrayString 不实现可迭代?

javascript - 在 react-transition-group 中退出延迟动画

javascript - 在“喜欢”和“不喜欢”功能期间,Firebase 函数中出现错误 500

javascript - 为什么我的变量引用全局范围变量?

javascript - 隐藏用户按下计算器上的 AC 按钮时显示的 0

javascript - 如何在 Angular2 中从一个组件连接到另一个组件