為什么變數 span_perc 的顏色沒有變為紅色,即使我知道我剛剛將它的 textContent 更新為“-28.86%”?
如果我將 span_perc.textContent 記錄到控制臺,它會說這是一個即使這不是真的,因為它可以將其更改為綠色并且我可以在網站上看到它。
<div class="col-12 xl:col-6">
<div class="card">
<h5>Total Profits</h5>
<span id="profits_perc"></span>
<span id="profits_money"></span>
<Chart type="line" :data="lineData" />
</div>
</div>
</div>
</template>
<script>
import ProductService from '../service/ProductService';
import axios from 'axios';
window.onload = dostuff;
function dostuff() {
var span_perc = document.getElementById("profits_perc");
var span_money = document.getElementById("profits_money");
axios.get('http://localhost:8000/').then(response => {span_perc.textContent = response.data[2].profits_perc});
axios.get('http://localhost:8000/').then(response => {span_money.textContent = response.data[2].profits_cash});
if (span_perc.textContent == '-28.86%') {
span_perc.setAttribute("style", "color:red")
} else {
span_perc.setAttribute("style", "color:green")
}
}
uj5u.com熱心網友回復:
這是因為值在 XHR 呼叫中以異步方式更改,如果您if在then塊中包含您的條件,它應該可以作業:
axios.get('http://localhost:8000/').then(response => {
span_perc.textContent = response.data[2].profits_perc;
if (span_perc.textContent == '-28.86%') {
span_perc.setAttribute("style", "color:red")
} else {
span_perc.setAttribute("style", "color:green")
}
});
uj5u.com熱心網友回復:
嘗試在異步呼叫中執行更改。
為什么異步作業的本質是,當我們等待承諾解決為某些資料或錯誤時,其余代碼將繼續執行。
function dostuff() {
var span_perc = document.getElementById("profits_perc");
var span_money = document.getElementById("profits_money");
axios.get("http://localhost:8000/").then((response) => {
span_perc.textContent = response.data[2].profits_perc;
if (span_perc.textContent == "-28.86%") {
span_perc.setAttribute("style", "color:red");
} else {
span_perc.setAttribute("style", "color:green");
}
});
axios.get("http://localhost:8000/").then((response) => {
span_money.textContent = response.data[2].profits_cash;
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/408527.html
標籤:
上一篇:定時器在0后繼續
