如何使用 JSON 文件中的数据来设置某些 HTML 元素的宽度?
How can I use data from JSON file to set the width of some HTML elements?
我想从JSON个对象中获取特定的数据,并用它来设置各种标签的宽度。
JSON对象是这样的:
"habilidades": [
{
"name": "Manejo del Tiempo",
"description": "Capacidad para priorizar tareas a fin de cumplir con los plazos.",
"percentage": "85%",
"width": "85%"
},
{
"name": "Trabajo en Equipo",
"description": "Facilidad para trabajar en grupos interdisciplinarios",
"percentage": "90%",
"width": "90%"
},
]
我有一个发送 GET 请求的服务,returns 数据集:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class PortfolioService {
constructor(private http: HttpClient) { }
obtenerDatos(): Observable<any> {
return this.http.get('./assets/data/data.json');
}
}
然后,组件订阅这个并将数组分配给一个变量:
export class HabilidadesComponent implements OnInit {
habilidadesList: any;
constructor(private datosPortfolio: PortfolioService) { }
ngOnInit(): void {
this.datosPortfolio.obtenerDatos().subscribe(data => {
this.habilidadesList = data.habilidades;
})
}
}
到目前为止一切顺利(我认为)...
然后,在 HTML 中,我有一个遍历数组的 *ngFor
指令:
<div *ngFor="let habilidad of habilidadesList">
<div class="col d-flex align-items-start">
<div>
<h4 class="fw-bold mb-0">{{ habilidad.name }}</h4>
<p>{{ habilidad.description }}</p>
<div class="barra-progreso">
<span style="width: ">{{ habilidad.percentage }}</span> <!-- I want habilidad.width value to set the width of span.-->
</div>
</div>
</div>
我想 habilidad.width
设置 <span>
元素的宽度。我不知道该怎么做。我已经尝试 属性 绑定,使用 *ngStyle
指令但无法使其工作。
您可以使用 [style.width.%]
绑定宽度
<span [style.width.%]="habilidad.width"></span>
你也可以像下面这样使用px,em
<div [style.width.em]="width"> Width Size with em</div>
<div [style.width.pt]="width"> Width Size with pt</div>
我想从JSON个对象中获取特定的数据,并用它来设置各种标签的宽度。
JSON对象是这样的:
"habilidades": [
{
"name": "Manejo del Tiempo",
"description": "Capacidad para priorizar tareas a fin de cumplir con los plazos.",
"percentage": "85%",
"width": "85%"
},
{
"name": "Trabajo en Equipo",
"description": "Facilidad para trabajar en grupos interdisciplinarios",
"percentage": "90%",
"width": "90%"
},
]
我有一个发送 GET 请求的服务,returns 数据集:
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class PortfolioService {
constructor(private http: HttpClient) { }
obtenerDatos(): Observable<any> {
return this.http.get('./assets/data/data.json');
}
}
然后,组件订阅这个并将数组分配给一个变量:
export class HabilidadesComponent implements OnInit {
habilidadesList: any;
constructor(private datosPortfolio: PortfolioService) { }
ngOnInit(): void {
this.datosPortfolio.obtenerDatos().subscribe(data => {
this.habilidadesList = data.habilidades;
})
}
}
到目前为止一切顺利(我认为)...
然后,在 HTML 中,我有一个遍历数组的 *ngFor
指令:
<div *ngFor="let habilidad of habilidadesList">
<div class="col d-flex align-items-start">
<div>
<h4 class="fw-bold mb-0">{{ habilidad.name }}</h4>
<p>{{ habilidad.description }}</p>
<div class="barra-progreso">
<span style="width: ">{{ habilidad.percentage }}</span> <!-- I want habilidad.width value to set the width of span.-->
</div>
</div>
</div>
我想 habilidad.width
设置 <span>
元素的宽度。我不知道该怎么做。我已经尝试 属性 绑定,使用 *ngStyle
指令但无法使其工作。
您可以使用 [style.width.%]
<span [style.width.%]="habilidad.width"></span>
你也可以像下面这样使用px,em
<div [style.width.em]="width"> Width Size with em</div>
<div [style.width.pt]="width"> Width Size with pt</div>