如何在 Angular 中将 ngStyle 设置为默认值

How to set ngStyle to a default value in Angular

这是我的一部分 html:

<div class="container"> 

这里是相关的 CSS 部分:

.container{
width:100%;
height: 45px;}

@media (min-width: 768px) { 
.container{
height:60px;}

现在我想通过 ngStyle 将此 div 的样式绑定到 属性。我在app.component.ts中有一个属性叫isShrinked,当isShrinked===true时,我希望div的高度是10px,否则高度会是container class.

的 css 样式设置的默认值

现在我阅读了关于 ngStyle 的 Angular 文档,但我找不到实现此目的的正确语法。我能做的最接近的是添加类似 [ngStyle]="{'height': isShrinked?'10px':''}" 的东西,但这显然不起作用,因为我必须在这个三元表达式的右侧给出一个值,这不是我打算做的。

有人可以帮助我吗?

以下语法应该有效:

[ngStyle]="isShrinked ? { 'height': '10px' } : {}"
[ngStyle]="isShrinked ? { 'height': '10px' } : null"

如果只设置一个样式属性,用这个特定的样式绑定可以获得相同的结果:

[style.height.px]="isShrinked ? 10 : null"

有关演示,请参阅 this stackblitz