gpt4 book ai didi

javascript - 在 Angular 2 中访问 DOM 属性

转载 作者:行者123 更新时间:2023-11-28 18:28:33 26 4
gpt4 key购买 nike

我已经实现了一个进度条,并通过使用 document.getElementsByClassName 访问进度条的 width 属性来在 html 中显示进度条的百分比。但是我应该用什么来在 Angular 2 中实现这个,它使用 typescript。

工作 HTML 和 JS 代码:https://jsfiddle.net/nvarun123/2cy2kg7y/1/

Angular 2 代码(应修复):https://plnkr.co/edit/nlRa0aaQv7GntxxBy8AC?p=preview

html代码:

<div class="container">
<div class="bar">
<span class="bar-fill"></span>
</div>
</div>
<div id="progress"></div>

JS代码:

var
bar = document.getElementsByClassName("bar")[0],
barFill = document.getElementsByClassName("bar-fill")[0],
progress = document.getElementById("progress"),
barWidth = window.getComputedStyle(bar, null).getPropertyValue("width"),
barFillWidth = window.getComputedStyle(barFill, null).getPropertyValue("width"),
pct = 100 * (parseFloat(barFillWidth) / parseFloat(barWidth)) + "%";

progress.innerHTML = pct;

最佳答案

我会使用 ngStyle,这样您就可以动态更新进度条百分比并向用户显示。

HTML 代码

<div class="container">
<div class="bar">
<span class="bar-fill" [ngStyle]="{'width': progressPercentage + '%'}">
</span>
</div>
</div>
<div id="progress">{{progressPercentage}}%</div>

typescript 代码

import {Component} from '@angular/core';
@Component({
selector:'progressbar',
styleUrls: ['./progressbar.component.css'],
templateUrl: './progressbar.component.html'

})
export class ProgressBar{
progressPercentage: number;

constructor() {
this.progressPercentage = 50;
}
}

plunkr https://plnkr.co/edit/LytbNF5HdDYUAxBUYenf?p=preview

关于javascript - 在 Angular 2 中访问 DOM 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38600661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com