如何在静态屏幕尺寸上动态更改Angular5中的fxFlex值?

nsk*_*nsk 5 angular-flex-layout angular angular5

我有以下两列,我想动态交换/更改按钮的fxFlex值onClick。我知道,如果您调整屏幕大小,fxFlex.md / lg等将启动,我能够完成。但是我试图了解如何在某些事件(如按钮单击)上更改静态屏幕大小上的fxFlex值。

<div flexLayout="row">
  <div fxFlex="fxFlexForCol1" style="background-color: green">
    <button mat-raised-button (click)="swapViewableArea()">Click to enlarge view {{fxFlexForCol1}}</button>
  </div>
  <div fxFlex="fxFlexForCol2" style="background-color: red">
      <button mat-raised-button (click)="swapViewableArea()">Click to enlarge view {{fxFlexForCol2}}</button>
    </div>
Run Code Online (Sandbox Code Playgroud)

  swapViewableArea() {
    const temp = this.fxFlexForCol1;
    this.fxFlexForCol1 = this.fxFlexForCol2;
    this.fxFlexForCol2 = temp;
  }
Run Code Online (Sandbox Code Playgroud)

在单击按钮时,我看到fxFlexForCol1和fxFlexForCol2值已交换,但flexLayout在UI布局中没有反映相同的值

任何建议,请。

Dav*_*vis 12

您需要将 fxFlex 绑定到您的属性。

将 fxFlex 替换为 [fxFlex]="property"


nsk*_*nsk 1

想通了!只需使用大括号即可!

<div flexLayout="row">
  <div fxFlex={{fxFlexForCol1}} style="background-color: green">
    <button mat-raised-button (click)="swapViewableArea()">Click to enlarge view {{fxFlexForCol1}}</button>
  </div>
  <div fxFlex={{fxFlexForCol2}} style="background-color: red">
    <button mat-raised-button (click)="swapViewableArea()">Click to enlarge view {{fxFlexForCol2}}</button>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • “无法绑定到‘fxFlex’,因为它不是......”- import FlexLayoutModule (2认同)