遍历普通数组
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../lib/vue.js"></script>
</head>
<body>
<!-- 对象就是无序键值对的集合 属性有杠-就必须要加单引号,这是属性里键的规定-->
<div id="app">
<p v-for="(item,i) in list">索引值:{{i}}---每一项:{{item}}</p>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
list:[1,2,3,4,5,6],
},
methods: {
}
})
</script>
</body>
</html>
遍历对象数组
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../lib/vue.js"></script>
</head>
<body>
<!-- 对象就是无序键值对的集合 属性有杠-就必须要加单引号,这是属性里键的规定-->
<div id="app">
<p v-for="(user,i) in list">索引值:{{i}}---ID:{{user.id}}---name:{{user.name}}</p>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
list:[
{id:1,name:'ajax'},
{id:2,name:'json'},
{id:3,name:'html'},
{id:4,name:'vue'},
{id:5,name:'html'}
]
},
methods: {
}
})
</script>
</body>
</html>
遍历对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../lib/vue.js"></script>
</head>
<body>
<!-- 在遍历对象身上的键值对的时候,除了有val key,在第三个位置还有一个索引-->
<div id="app">
<p v-for="(val,key,i) in list">值:{{val}}---键:{{key}}---id:{{i}}</p>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
list:{
name:"马云",
age:18,
class:1,
}
},
methods: {
}
})
</script>
</body>
</html>
迭代数字
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../lib/vue.js"></script>
</head>
<body>
<!-- in后面还可以放数字,代表循环多少次 如果使用v-for迭代数字,前面的count从1开始 -->
<div id="app">
<p v-for="(count) in 10">这是第{{count}}次循环</p>
</div>
<script>
var vm = new Vue({
el: "#app",
data: {
},
methods: {
}
})
</script>
</body>
</html>
key的用法
因为vue中它默认使用“就地更新”的策略,最少化的渲染。此时为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../lib/vue.js"></script>
</head>
<body>
<!-- v-for循环的时候,key属性只能使用number或string-->
<!-- key在使用的时候,必须使用v-bind属性绑定的形式,指定key的值 -->
<!-- 在组件中,使用v-for循环的时候,或者在一些特殊情况中,如果v-for有问题,必须在使用v-for的同时,指定唯一的字符串/数字类型:key值 -->
<div id="app">
id:<input type="text" v-model="id">
name:<input type="text" v-model="name">
<input type="button" value="添加" @click="add">
<!--给每个都指定一个key key等于一个唯一标识符 不能用对象item,只能用number获取-->
<p v-for="item in list" v-bind:key="item.id">
<input type="checkbox">
id:{{item.id}}---名字:{{item.name}}</p>
</div>
<!-- <script> -->
var vm = new Vue({
el: "#app",
data: {
id:'',
name:'',
list:[
{id:1,name:'李斯'},
{id:2,name:'赵高'},
{id:3,name:'秦始皇'},
{id:4,name:'李白'},
{id:5,name:'赵飞'},
]
},
methods: {
add(){
this.list.unshift({id:this.id,name:this.name})
}
}
})
</script>
</body>
</html>