国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

vue.js基于v-for實現批量渲染 Json數組對象列表數據示例

2019-11-19 11:04:51
字體:
來源:轉載
供稿:網友

本文實例講述了vue.js基于v-for實現批量渲染 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">職業知識</p>                <p class="help">生涯樹提供的職業數據框架,可以從職業能力、知識、技能、活動、內容方面進行探索和規劃</p>              </div>            </div>            <div class="message-body">              <div class="field buttons">                <a>興趣:</a>                <span>常見的任務和環境的偏好</span>              </div>            </div>          </div>        </div>      </div>    </div>  </div></div>

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

var allData = [  {    "id":"職業知識",    "name":"關于各行業職業信息的分析,主要因素分析",    "lists":[      {        "title":"興趣",        "describe":"常見的任務和環境的偏好"      },      {        "title":"價值觀",        "describe":"個人滿意度的關鍵方面"      },      {        "title":"技能",        "describe":"學習發展、組織協作和資源管理的發達能力"      }    ]  },  {    "id":"職業擴展",    "name":"提供除本職業之外的擴展知識等各個方面",    "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,創建實例渲染到指定對象(引入鏈接請移步到官網 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渲染列表數據完成,就是這么簡單。接下來看看 原生JS 是如何渲染列表數據的:

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

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){ //外層循環獲取標志信息    var list = '';    for(var j=0;j<allData[i].lists.length;j++){ //內層循環渲染詳細列表項      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.js程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 佛山市| 龙州县| 佛山市| 夹江县| 娱乐| 沅陵县| 宜良县| 蓝山县| 吴江市| 炉霍县| 望江县| 嘉定区| 莱州市| 蓬安县| 泰兴市| 鲜城| 铜陵市| 林口县| 武清区| 泗洪县| 杂多县| 鹿邑县| 金沙县| 洪泽县| 沙雅县| 南陵县| 包头市| 鱼台县| 呈贡县| 开封市| 吉木乃县| 青冈县| 深水埗区| 西安市| 奉新县| 怀宁县| 微山县| 嵊州市| 若尔盖县| 永年县| 五河县|