1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| <template> <div class="studv"> <h2>Student组件</h2> <input type="text" v-model.lazy="addStuName" @keyup.enter="addStu"><br/> <ul> <li v-for="stu in stus" :key="stu.id">{{stu.stuName}}</li> </ul> <button @click="changeStuName">修改第一个学生的姓名</button> </div> </template>
<script> export default { data() { return { addStuName: '', stus: JSON.parse(localStorage.getItem('stu')) || [] } }, methods: { addStu() { const newStu = { id: this.stus.length, stuName: this.addStuName }; this.stus.push(newStu); this.addStuName='' }, changeStuName() { this.stus[0].stuName = this.stus[0].stuName+'change' } }, watch: { stus: { deep: true, handler(value) { localStorage.setItem('stu',JSON.stringify(value)) } } } } </script>
<style lang="css"> .studv{ background-color:bisque; width:200px; padding:50px; margin-left:50px; } </style>
|