vue.js基于v-for實現(xiàn)批量渲染 Json數(shù)組對象列表數(shù)據(jù)示例
本文實例講述了vue.js基于v-for實現(xiàn)批量渲染 Json數(shù)組對象列表數(shù)據(jù)。分享給大家供大家參考,具體如下:
Vuejs的出現(xiàn)減輕了對DOM的直接操作,同時它提供的 v-for 渲染列表數(shù)據(jù)也給我們提供了很大的方便。即使是復(fù)雜的 Json數(shù)組對象,也可以使用 多層嵌套的 v-for 實現(xiàn),格式如下:
<div v-for="(item,index) in items"> <div v-for="(list,index) in item.lists"></div> <div>
假設(shè)當前的HTML,VUE 文本格式如下:
<div id="app" class="columns">
<div class="column">
<div class="card">
<div class="card-content">
<div id="data" class="columns is-multiline ">
<div class="column is-half">
<div class="media">
<div class="media-content">
<p class="has-text-weight-bold">職業(yè)知識</p>
<p class="help">生涯樹提供的職業(yè)數(shù)據(jù)框架,可以從職業(yè)能力、知識、技能、活動、內(nèi)容方面進行探索和規(guī)劃</p>
</div>
</div>
<div class="message-body">
<div class="field buttons">
<a>興趣:</a>
<span>常見的任務(wù)和環(huán)境的偏好</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
需要渲染的JSON數(shù)組對象格式如下:
var allData = [
{
"id":"職業(yè)知識",
"name":"關(guān)于各行業(yè)職業(yè)信息的分析,主要因素分析",
"lists":[
{
"title":"興趣",
"describe":"常見的任務(wù)和環(huán)境的偏好"
},
{
"title":"價值觀",
"describe":"個人滿意度的關(guān)鍵方面"
},
{
"title":"技能",
"describe":"學(xué)習(xí)發(fā)展、組織協(xié)作和資源管理的發(fā)達能力"
}
]
},
{
"id":"職業(yè)擴展",
"name":"提供除本職業(yè)之外的擴展知識等各個方面",
"lists":[
{
"title":"活動",
"describe":"常見的工作行為類型"
},
{
"title":"內(nèi)容",
"describe":"工作性質(zhì)的物理和社會因素"
},
{
"title":"能力",
"describe":"個人基本持久屬性"
}
]
}
];
使用VUE操作渲染列表,先對文本分配對應(yīng)的字段值,格式如下:
<div class="column is-half" v-for="(item, index) in items">
<div class="media">
<div class="media-content">
<p class="has-text-weight-bold">{{ item.id }}</p>
<p class="help">{{ item.name }}</p>
</div>
</div>
<div class="message-body" v-for="(list, index) in item.lists">
<div class="field buttons" >
<a>{{ list.title}}:</a>
<span>{{ list.describe}}</span>
</div>
</div>
</div>
JS操作,引入 vuejs,創(chuàng)建實例渲染到指定對象(引入鏈接請移步到官網(wǎng) https://cn.vuejs.org/)
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
var vm = new Vue({ el: '#app', data: { items:allData }})
VUE渲染列表數(shù)據(jù)完成,就是這么簡單。接下來看看 原生JS 是如何渲染列表數(shù)據(jù)的:
原生JS操作數(shù)組取值:循環(huán)。使用 for in 直接操作對象,或者 for循環(huán)直接取值,格式如下:
for(var key in values){};for(var i=0;i<values.length;i++){},根據(jù)情況取任意一種方式,以為演示兩種方式的使用
function Id(id) {
return document.getElementById(id); //獲取模塊的ID
}
function getData(allData) {
var data = Id("data");
var html='';
for(var i in allData){ //外層循環(huán)獲取標志信息
var list = '';
for(var j=0;j<allData[i].lists.length;j++){ //內(nèi)層循環(huán)渲染詳細列表項
list+='<div class="message-body">'+
'<div class="field buttons">'+
'<a class=" ">'+allData[i].lists[j].title+':</a>'+
'<span>'+allData[i].lists[j].describe+'</span>'+
'</div>'+
'</div>';
}
html+='<div class="column is-half">'+
'<div class="media">'+
'<div class="media-content">'+
'<p class="has-text-weight-bold">'+allData[i].id+'</p>'+
'<p class="help">'+allData[i].name+'</p>'+
'</div>'+
'</div>'+list+ //將內(nèi)層渲染好的列表項模塊添加到外層大模塊中
'</div>';
}
data.innerHTML = html; //像指定的ID模塊追加內(nèi)容
}
//調(diào)用渲染數(shù)據(jù)方法并傳遞參數(shù) JSON數(shù)組對象
getData(allData);
最終,VUE ,原生JS 渲染出來的列表數(shù)據(jù)效果均如下:

希望本文所述對大家vue.js程序設(shè)計有所幫助。
相關(guān)文章
vue2 element 的 el-date-picker彈出層跑到頁面左上角問題及完美解
當在Vue中使用多個el-date-picker組件時,為每個組件添加唯一的key屬性可以解決狀態(tài)混亂和渲染異常的問題,本文給大家介紹vue2 element的el-date-picker彈出層跑到頁面左上角問題及完美解決方法,感興趣的朋友跟隨小編一起看看吧2026-03-03
vue項目拍照或上傳圖片并實現(xiàn)轉(zhuǎn)化為base64格式
這篇文章主要介紹了vue項目拍照或上傳圖片并實現(xiàn)轉(zhuǎn)化為base64格式方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
Element-Plus Select組件實現(xiàn)滾動分頁加載功能
Element-Plus的select組件并沒有自帶滾動分頁加載的功能,其雖然提供了自定義下拉菜單的底部的方式可以自定義上一頁及下一頁操作按鈕的方式進行分頁加載切換,這篇文章主要介紹了Element-Plus Select組件實現(xiàn)滾動分頁加載功能,需要的朋友可以參考下2024-03-03
vue3 Teleport瞬間移動函數(shù)使用方法詳解
這篇文章主要為大家詳細介紹了vue3 Teleport瞬間移動函數(shù)使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-03-03
在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框)
這篇文章主要介紹了在vue中使用cookie記住用戶上次選擇的實例(本次例子中為下拉框),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
vue 調(diào)用 RESTful風(fēng)格接口操作
這篇文章主要介紹了vue 調(diào)用 RESTful風(fēng)格接口操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
vue2.x?el-table二次封裝實現(xiàn)編輯修改
本文主要介紹了vue2.x?el-table二次封裝實現(xiàn)編輯修改,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03

