<!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="../vue.js"></script>
<style>
table {
border: 1px solid #ccc;
border-spacing: 0;
}
th,
td {
width: 200px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div id="app">
英雄名稱<input v-model="saveDate.personName" type="text">
英雄技能 <input v-model="saveDate.personSkil" type="text">
<button @click="save">save</button>
<table>
<thead>
<tr>
<th>序號</th>
<th>名稱</th>
<th>技能</th>
<th>opration</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in person">
<td>{{index}}</td>
<td>{{item.personName}}</td>
<td>{{item.personSkil}}</td>
<td> <button @click="del(index)">刪除</button> </td>
</tr>
</tbody>
</table>
</div>
<script>
new Vue({
el: "#app",
data: {
saveDate:{
personName: "",
personSkil: ""
},
person: [{
personName: "張三",
personSkil: "殺人"
}, {
personName: "李四",
personSkil: "防火"
}, {
personName: "趙六",
personSkil: "放屁"
}]
},
methods: {
save() {
this.person.push(this.saveDate)
console.log(this.saveDate)
},
del(index) {
this.person.splice(index, 1)
}
},
})
</script>
</body>
</html>
解決辦法
把model綁定的對象,更改成綁定變量,解決問題
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="../vue.js"></script>
<style>
table {
border: 1px solid #ccc;
border-spacing: 0;
}
th,
td {
width: 200px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div id="app">
英雄名稱<input v-model="personName" type="text">
英雄技能 <input v-model="personSkil" type="text">
<button @click="save">save</button>
<table>
<thead>
<tr>
<th>序號</th>
<th>名稱</th>
<th>技能</th>
<th>opration</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in person">
<td>{{index}}</td>
<td>{{item.personName}}</td>
<td>{{item.personSkil}}</td>
<td> <button @click="del(index)">刪除</button> </td>
</tr>
</tbody>
</table>
</div>
<script>
new Vue({
el: "#app",
data: {
personName: "",
personSkil: "",
person: [{
personName: "張三",
personSkil: "殺人"
}, {
personName: "李四",
personSkil: "防火"
}, {
personName: "趙六",
personSkil: "放屁"
}]
},
methods: {
save() {
this.person.push({personName:this.personName,personSkil:this.personSkil})
},
del(index) {
this.person.splice(index, 1)
}
},
})
</script>
</body>
</html>