溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue怎么批量渲染Json數組對象列表數據

發(fā)布時間:2022-11-04 09:13:50 來源:億速云 閱讀:138 作者:iii 欄目:開發(fā)技術

本文小編為大家詳細介紹“vue怎么批量渲染Json數組對象列表數據”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“vue怎么批量渲染Json數組對象列表數據”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Vuejs的出現減輕了對DOM的直接操作,同時它提供的 v-for 渲染列表數據也給我們提供了很大的方便。即使是復雜的 Json數組對象,也可以使用 多層嵌套的 v-for 實現,格式如下:

<div v-for="(item,index) in items">
  <div v-for="(list,index) in item.lists"></div>
<div>

假設當前的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è)數據框架,可以從職業(yè)能力、知識、技能、活動、內容方面進行探索和規(guī)劃</p>
              </div>
            </div>
            <div class="message-body">
              <div class="field buttons">
                <a>興趣:</a>
                <span>常見的任務和環(huán)境的偏好</span>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

需要渲染的JSON數組對象格式如下:

var allData = [
  {
    "id":"職業(yè)知識",
    "name":"關于各行業(yè)職業(yè)信息的分析,主要因素分析",
    "lists":[
      {
        "title":"興趣",
        "describe":"常見的任務和環(huán)境的偏好"
      },
      {
        "title":"價值觀",
        "describe":"個人滿意度的關鍵方面"
      },
      {
        "title":"技能",
        "describe":"學習發(fā)展、組織協作和資源管理的發(fā)達能力"
      }
    ]
  },
  {
    "id":"職業(yè)擴展",
    "name":"提供除本職業(yè)之外的擴展知識等各個方面",
    "lists":[
      {
        "title":"活動",
        "describe":"常見的工作行為類型"
      },
      {
        "title":"內容",
        "describe":"工作性質的物理和社會因素"
      },
      {
        "title":"能力",
        "describe":"個人基本持久屬性"
      }
    ]
  }
];

使用VUE操作渲染列表,先對文本分配對應的字段值,格式如下:

<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)建實例渲染到指定對象

<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渲染列表數據完成,就是這么簡單。接下來看看 原生JS 是如何渲染列表數據的:

原生JS操作數組取值:循環(huán)。使用 for in 直接操作對象,或者 for循環(huán)直接取值,格式如下:

for(var key in values){};for(var i=0;i<values.length;i++){},根據情況取任意一種方式,以為演示兩種方式的使用

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++){ //內層循環(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+  //將內層渲染好的列表項模塊添加到外層大模塊中
      '</div>';
  }
  data.innerHTML = html; //像指定的ID模塊追加內容
}
//調用渲染數據方法并傳遞參數 JSON數組對象
getData(allData);

最終,VUE ,原生JS 渲染出來的列表數據效果均如下:

vue怎么批量渲染Json數組對象列表數據

Vue的優(yōu)點

Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。

讀到這里,這篇“vue怎么批量渲染Json數組對象列表數據”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI