* ngIf表示Angular2中的html属性

时间:2016-03-07 10:20:42

标签: angular

<ion-navbar  hideBackButton >
  <ion-title> </ion-title>
  ...
  ...

我希望hideBackButton有条件地在那里,我不想用* ngIf重复整个ion-navbar元素。 是否可以为hideBackButton属性应用* ngIf?

2 个答案:

答案 0 :(得分:26)

您必须提供null布尔值才能删除它们,

<ion-navbar [attr.hideBackButton]="someExpression ? true : null">

否则会产生角度

<ion-navbar hideBackButton="false">

答案 1 :(得分:13)

您可以利用插值:

<ion-navbar [attr.hideBackButton]="someExpression">
  <ion-title> </ion-title>
  ...
...

如果someExpression为null,则该属性不存在,如果someExpression为空字符串,则该属性将存在。这是一个示例:

@Component({
  selector: 'my-app',
  template: `
    <div [attr.hideBackButton]="someExpression">
      Test
    </div>
    <div (click)="toggleAttribute()">Toggle</div>
  `
})
export class AppComponent {
  constructor() {
    this.someExpression = null;
  }

  toggleAttribute() {
    if (this.someExpression==null) {
      this.someExpression = '';
    } else {
      this.someExpression = null;
    }
  }
}

请参阅此plunkr:https://plnkr.co/edit/LL012UVBZ421iPX4H59p?p=preview