當vue頁面異步加載的數據想在頁面上渲染怎么辦


<template>
<div class="test">

<div v-for="(item, index) in arr" :key="index">
<p>姓名:{{ item.name }}</p>
<p>年齡:{{ item.age }}</p>
<p>愛好:{{ item.like }}</p>
</div>
</div>
</template>

<script>
import Vue from 'vue'

export default {
data() {
return {

arr: [{ name: "蕾蕾", age: 23 }, { name: "佳佳", age: 20 }]
};
},
created() {
this.arr.forEach(res => {
setTimeout(()=>{ //此處模擬異步調數據
res.like = "刷抖音";
         Vue.set(res,"like","刷抖音")


})

});
}
};
</script>

此時頁面是渲染不出來愛好的數據的,如圖:

 

 處理方法1:用Vue.set(藍色部分)

 處理方法2:數組改變用push

 

 

 

 

 data() {
return {
arr: [{ name: "蕾蕾", age: 23 }, { name: "佳佳", age: 20 }]
};
},
 created() {
this.arr.forEach(res => {
          this.arr=[]
setTimeout(()=>{
res.like = "刷抖音";
this.arr.push(res);
})


});
}

 

 
        

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM