首页 > 解决方案 > 如何在 Angular 中将 ngStyle 设置为默认值

问题描述

这是我的html的一部分:

<div class="container"> 

这是相关的 CSS 部分:

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

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

现在我想通过 ngStyle 将这个 div 的样式绑定到一个属性。我在 app.component.ts 中有一个isShrinked属性叫做isShrinked===truecontainer

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

有人可以帮助我吗?

标签: javascripthtmlangulartypescriptng-style

解决方案


以下语法应该有效:

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

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

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

请参阅此 stackblitz以获取演示。


推荐阅读