<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css">
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="root" class="container">
<div class="list mb-2" v-for="(item ,index) in form.list":key="item+index">
<div class="item row row" v-for="(i,dex) in item.item":key="i+dex">
<div class="col-2">{{i.name}}</div>
<div class="col-8">
<input type="text" class="form-control" v-model="i.value">
</div>
</div>
</div>
</div>
<!-- 生产环境版本,优化了尺寸和速度 -->
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script type="text/javascript">
var lists = [{id:1,value:1,name:'频道1'},{id:2,value:2,name:'频道2'}];
new Vue({
el:'#root',
data(){
return {
form:{
list:[
{
item:Object.assign({},lists)
},
{
item:Object.assign({},lists)
}
]
}
}
},
methods:{
}
})
</script>
</body>
</html>
以上是完整代码,现在发截图:
我使用了两层循环,第一次循环组,第二次循环每组的input个数。
因为第二层数据要通过接口来获取数据。
现在的问题就是在修改第一组第一个的时候,第二组的第一个也同步在修改。
请问这个是什么原因导致这样的?