公众号留言板小程序_vue.js基于v

2021-01-07 12:07| 发布者: | 查看: |

vue.js基于v-for实现批量渲染 Json数组对象列表数据示例       这篇文章主要介绍了vue.js基于v-for实现批量渲染 Json数组对象列表数据,结合实例形式分析了vue.js使用v-for遍历json格式数据渲染列表相关操作技巧,需要的朋友可以参考下

本文实例讲述了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" 
 div 
 div 
 div 
 div id="data" 
 div 
 div 
 div 
 p 职业知识 /p 
 p 生涯树提供的职业数据框架,可以从职业能力、知识、技能、活动、内容方面进行探索和规划 /p 
 /div 
 /div 
 div 
 div 
 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 v-for="(item, index) in items" 
 div 
 div 
 p {{ item.id }} /p 
 p {{ item.name }} /p 
 /div 
 /div 
 div v-for="(list, index) in item.lists" 
 div 
 a {{ list.title}}: /a 
 span {{ list.describe}} /span 
 /div 
 /div 
 /div 

JS操作,引入 vuejs,创建实例渲染到指定对象(引入链接请移步到官网 )

 script src="npm/.16/dist/vue.js" /script 

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 '+
 ' div '+
 ' a '+allData[i].lists[j].title+': /a '+
 ' span '+allData[i].lists[j].describe+' /span '+
 ' /div '+
 ' /div 
 html+=' div '+
 ' div '+
 ' div '+
 ' p '+allData[i].id+' /p '+
 ' p '+allData[i].name+' /p '+
 ' /div '+
 ' /div '+list+ //将内层渲染好的列表项模块添加到外层大模块中
 ' /div 
 data.innerHTML = html; //像指定的ID模块追加内容
//调用渲染数据方法并传递参数 JSON数组对象
getData(allData);

最终,VUE ,原生JS 渲染出来的列表数据效果均如下:

希望本文所述对大家vue.js程序设计有所帮助。


<
>

 
QQ在线咨询
售前咨询热线
18720358503
售后服务热线
18720358503
返回顶部