Como passar valor do código datilografado para css no Angular 6
Dec 02 2020
Sei que devo usar ngClass
ou, ngStyle
mas não consigo descobrir como passar esse valor. Aqui está meu código.
strip.component.ts
import { ... } from '@angular/core';
@Component({
selector: 'app-strip',
templateUrl: './strip.component.html'
})
export class StripComponent implements OnInit {
...
@Input() widthValue: any; // getting this from parent component
staticKpi:{...}=[][]
}
strip.component.html
<ng-container>
<div *ngFor="let row of staticKpi">
<div class="rows" *ngFor="let item of row">
<div class="col-12">
<h2>{{widthValue}}</h2> <!-- this is printing correct value-->
...
</div>
</div>
</div>
</ng-container>
Tenho que decidir a largura da classe de linhas dinamicamente em scss algo assim:
strip.component.css
.rows {
display: inline-block;
width: calc(100%/widthValue); // <----- here
text-align: left !important;
background: red;
}
Eu poderia ter usado col-{{widthValue}}
em HTML, mas não, me disseram que deve ser da propriedade width do css. Por favor me ajude. Não tenho certeza de como usar o ngClass aqui.
Respostas
1 Vishnudev Dec 02 2020 at 18:13
Usar class
<div [class]="'col-'+ widthValue"></div>
OU
Usar style.width
<div [style.width]="(widthValue/12)*100 + '%'"></div>
DEMO
O que significa um erro “Não é possível encontrar o símbolo” ou “Não é possível resolver o símbolo”?
Christopher Nolan uma vez se arrependeu de ter lido o 'roteiro de Pulp Fiction' de Quentin Tarantino