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

时间:2018-07-10 02:13:24

标签: javascript html angular typescript ng-style

这是我的html的一部分:

<div class="container"> 

这是相关的CSS部分:

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

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

现在,我想将此div的样式通过ngStyle绑定到属性。我在app.component.ts中有一个名为isShrinked的属性,当isShrinked===true时,我希望div的高度为10px,否则该高度将为css样式设置的默认值的container类。

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

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

以下语法应该起作用:

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

如果仅要设置一个样式属性,则通过这种特定的样式绑定可以获得相同的结果:

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

有关演示,请参见this stackblitz