如何在 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。
这是我的一部分 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.
现在我阅读了关于 ngStyle 的 Angular 文档,但我找不到实现此目的的正确语法。我能做的最接近的是添加类似 [ngStyle]="{'height': isShrinked?'10px':''}"
的东西,但这显然不起作用,因为我必须在这个三元表达式的右侧给出一个值,这不是我打算做的。
有人可以帮助我吗?
以下语法应该有效:
[ngStyle]="isShrinked ? { 'height': '10px' } : {}"
[ngStyle]="isShrinked ? { 'height': '10px' } : null"
如果只设置一个样式属性,用这个特定的样式绑定可以获得相同的结果:
[style.height.px]="isShrinked ? 10 : null"
有关演示,请参阅 this stackblitz。