| Vue监视数据的原理 |
| 1. vue会监视data中所有层次的数据 |
| 2. 如何监测对象中的数据? |
| 通过setter实现监视,且要在new Vue时就传入要监测的数据 |
| 1、对象中后追加的属性,Vue默认不做响应式 |
| 2、如需给后添加的属性做响应式,请用如下API: |
| Vue.set(target,propertyName/index,value) 或 |
| vm.$set(target,propertyName/index,value) |
| 3. 如何监视数组中的数据? |
| 通过包裹数组更新元素的方法实现,本质就是做了两件事 |
| 1、调用原生对应的方法对数组进行更新 |
| 2、重新解析模板,进而更新页面 |
| 4. 在Vue修改数组中的某个元素一定要用以下方法: |
| 1.API: push(),pop(),shift(),unshift(),splice(),sort(),reverse() |
| 2.Vue.set() 或vm.$set() |
| 特别注意:Vue.set() 或vm.$set()不能给vm或vm根对象 添加属性!! |
| <body> |
| <div id="root"> |
| <h1>学生信息</h1> |
| <button @click="student.age++">年龄+1岁</button><br> |
| <button @click="addSex">添加性别属性,默认值为:男</button><br> |
| <button @click.once="addFriend">在列表首位添加一个朋友</button><br> |
| <button @click="updateFriend">修改第一个朋友的名字为:张三</button><br> |
| <button @click.once="addHobby">添加一个爱好</button><br> |
| <button @click="updateHobby">修改第一个爱好为:开车</button><br> |
| <h3>姓名:{{student.name}}</h3> |
| <h3>年龄:{{student.age}}</h3> |
| <h3 v-if="student.sex">性别:{{student.sex}}</h3> |
| |
| <h3>爱好:</h3> |
| <ul> |
| <li v-for="(h,index) in student.hobby" :key="index"> |
| {{h}} |
| </li> |
| </ul> |
| <h3>朋友们:</h3> |
| <ul> |
| <li v-for="(f,index) in student.friends" :key="index"> |
| {{f.name}}--{{f.age}} |
| </li> |
| </ul> |
| </div> |
| <script> |
| Vue.config.productionTip = false; |
| const vm = new Vue({ |
| el: "#root", |
| data: { |
| student:{ |
| name:"林", |
| age:20, |
| hobby:["Vue","JAVA"], |
| friends:[ |
| { |
| name:"彪", |
| age:20 |
| }, |
| { |
| name:"杰", |
| age:20 |
| } |
| ] |
| } |
| }, |
| methods: { |
| addSex(){ |
| |
| this.$set(this.student,"sex","男"); |
| }, |
| addFriend(){ |
| this.student.friends.unshift({name:"李氏",age:12}) |
| }, |
| updateFriend(){ |
| |
| |
| |
| |
| this.student.friends[0].name="张三"; |
| }, |
| addHobby(){ |
| this.student.hobby.unshift("听音乐"); |
| }, |
| updateHobby(){ |
| this.student.hobby.splice(0,1,"开车"); |
| } |
| |
| }, |
| }) |
| </script> |
| </body> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本