繁体   English   中英

如何有条件地将样式属性添加到 angular 中的模板?

[英]How to conditionally add style attribute to template in angular?

我已经看到了如何创建条件样式的示例。 但是我不希望 style 属性在某些情况下出现。 这就是我要的:

<div class="backgroundGradient" [style.backgroundImage]="myBackgroundImageUrl"></div>

然而,这里的问题是当myBackgroundImageUrl不存在时。 我希望backgroundGradient出现。 这里的问题是 angular 只会显示<div style="background-image: none"> 如果我删除它,在 chrome 调试器中 - 我的代码有效。

如果myBackgroundImageUrl不存在,我基本上不希望 style 属性出现。 三元在这里也不起作用。

我想知道是否可以在不使用 *ngIf 的 2 个元素的情况下执行此操作。 这是最坏的情况,但元素有更多的属性,所以我试图避免不必要的复制。

关于什么

<div class="backgroundGradient" [ngStyle]="myStyle"></div>

组件网

myStyle:any

ngOnInit() {
  if (hasImage) {
  this.myStyle={'background-image':url}
  }

https://angular.io/api/common/NgStyle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM