Angular:在样式绑定中使用calc的正确方法

时间:2017-12-08 00:11:08

标签: angular

将calc()绑定到style.height,style.width in angular?

的正确方法是什么?

我有:

[style.height]="calc(100% - 57px)"

然后回来:

Error: Missing expected ) at column 14 in [calc(100% - 4px)] 

似乎'('没有被转义。

4 个答案:

答案 0 :(得分:6)

我知道OP说他们放弃了这个,但是对于遇到这个问题的其他人(这对我来说在Google上排名很高),这里的答案回答了这个问题:

Angular 2, Adding calc() as inline style. Unsafe interpolation using parentheses

DOM Sanitizer正在删除它,因此必须绕过它。

  import {DomSanitizer} from "@angular/platform-browser";

  constructor(private sanitizer: DomSanitizer) {
      this.someHeight = this.sanitizer.bypassSecurityTrustStyle("calc(100% - 57px)");
  }

  public someHeight: string;

或直接在模板上:

[style.height]="sanitizer.bypassSecurityTrustStyle('calc(100% - 57px)')"

答案 1 :(得分:2)

您也可以尝试使用ngStyle代替:

cmake -G "MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=C:\Users\pro12\Desktop\lib\libwebsockets

答案 2 :(得分:1)

它需要是一个字符串,使用''

[style.height]="'calc(100vh - ' + (checkedTaskTracker.checkedTasks.length>0 ? '240px': '171px') + ')'

答案 3 :(得分:0)

如果你想在内联样式中使用 calc() 然后试试这个高度或宽度

对于高度:

[ngStyle]="{'height': 'calc(100% - 57px)'}"

对于宽度:

[ngStyle]="{'width': 'calc(100% - 57px)'}"