angular - 根据值隐藏和显示元素 Angular 2

标签 angular angular-ng-if

我有一些 bool 变量,可以是 true 或 false,根据该值我必须在 HTML 中显示一些元素,如下所示:

<p *ngif=isOwner>Test</p>

问题是我必须隐藏该元素的值为 false,但要显示该元素的值为 true:

this.storage.get('User').then((val) => {
    this.isOwner = val.Owner.IsOwner;
});

在 Angular 2 中,仅在 HTML 中,值将始终存在,并且为 true 或 false,正确的方法是什么?

最佳答案

只需反转条件的 bool 值即可:

See live stackblitz

export class AppComponent  {
  public isOwner: boolean = true;
  toggleIsOwner() {
    this.isOwner = !this.isOwner; 
  }
}

HTML

<button (click)="toggleIsOwner()">show/hide</button>

<p *ngIf="isOwner">Hello World!</p>

showMe 是一个 bool 值。方式*ngIf工作原理是,当表达式为 true 时,将元素插入到 DOM 中,当表达式为 false 时,将元素从 DOM 中删除。

关于angular - 根据值隐藏和显示元素 Angular 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48963016/

相关文章:

android - ionic 键盘和 ngIf 未按预期工作

javascript - 如何从Controller访问AngularJS上的$scope变量来查看

javascript - 来自指令的 Angular 广播

javascript - 表排序(使用 ng-repeat 并使用 ng-if 删除重复列名)

angular - Angular 模板中的可重用片段

angular - 如何将日期转换为 Angular 2 中的 'yyyy-MM-dd' 格式

angular - Ionic 3 输入百分比掩模

angular - 如何为 [routerLink] 提供与数组值相对应的动态值?

Angular - 如何在 VS Code 中更改 html 文件中变量的颜色?

mysql - 手动刷新导致仅显示 JSON