列表渲染的解析
一、列表渲染是一个比较重要的知识点
最终渲染出来就是这样的一个结果,vue来进行数据存储和管理。
二、方法实现
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>列表渲染</title>
<link rel="shortcut icon" href="phone.ico" type="image/x-icon" />
<script type="text/javascript" src="vue.js"></script>
</head>
<body>
<div id="root">
<h3>人员信息列表</h3>
<ul>
<!-- 在使用v-for in 进行遍历的时候,就必须给每一个遍历的对象给一个特定的标识
id -->
<li v-for="p in persons" :key="p.id">
{{p.name}}---{{p.age}}
</li>
</ul>
<h3>
汽车对象信息
</h3>
<ul>
<li v-for="(value,key) in Cars" :key="key">
{{key}}--{{value}}
</li>
</ul>
</div>
</body>
<script type="text/javascript">
new Vue({
el: '#root',
data: {
// 在data里面放置首先是persons,数组对象
persons: [{
id: '001',
name: 'ZXY',
sex: 'man',
age: 18
},
{
id: '002',
name: 'LDH',
sex: 'man',
age: 19
},
{
id: '003',
name: 'HH',
sex: 'women',
age: 29
}
],
Cars: {
brand: '奇瑞',
price: 190000,
color: 'white'
}
}
})
</script>
</html>
首先了解语法:v-for= “p in persons”
p
这个p是形式参数,作为后面使用,persons是在data里存储的数组对象。
紧接着了解:key=“p.id”,根据规则,每一个遍历的一项都有一个独特的标识,那么对于数组元素来说,不同的id就是它们所特有的东西。对于对象来说,每一个属性名key就是它们的不同的东西。
三、结果展示
整体的实现过程如上图所示,实际的数据,不是直接进入改变DOM,而是先产生了虚拟DOM,然后通过比较算法,来通过产生虚拟的DOM来产生真实的DOM。