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

问题描述 投票:1回答:1

这是我的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类的css样式设置的默认值。

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

有人能帮助我吗?

javascript html angular typescript ng-style
1个回答
1
投票

以下语法应该有效:

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

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

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

有关演示,请参阅this stackblitz

© www.soinside.com 2019 - 2024. All rights reserved.