问答详情
源自:3-1 todolist功能开发

老实说key值不能重复,为什么我测试的时候没有出问题?

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<script type="text/javascript" src="js/Vue.js" ></script>

</head>

<body>

<div id="div1">

<div v-show="show">

<div>Hello World</div>

</div>

<input type="button" value="toggle" @click="fn"/>

<ul>

<li v-for="item in list" v-bind:key="item">{{item}}</li>

</ul>

</div>

<script type="text/javascript">

new Vue({

el: "#div1",

data: {

show: true,

list: [1,2,2,4,2,1]

},

methods: {

fn: function(){

this.show = !this.show

}

}

})

</script>

</body>

</html>


提问者:HG_long 2018-12-29 13:28

个回答

  • qq_慕函数2094165
    2019-04-11 09:38:11

    v-for中的key

    使用v-for更新已渲染的元素列表时,默认用就地复用策略;列表数据修改的时候,他会根据key值去判断某个值是否修改,如果修改,则重新渲染这一项,否则复用之前的元素;
    我们在使用的使用经常会使用index(即数组的下标)来作为key,但其实这是不推荐的一种使用方法;

  • HG_long
    2018-12-29 13:30:36

    我的key值有几个是重复的,也没出错呀?https://img2.mukewang.com/5c2706780001302d01690287.jpg