###一、v-if来切换报错问题 v-if 为同一类型组件(或同一模板的dom树)来做显示和隐藏时,容易出问题
######方法一,给每个v-if添加不同的key
<template v-if="type=== 'username'" key="1"> <label>用户名</label> <input placeholder="输入用户名"> </template> <template v-else key="2"> <label>邮箱</label> <input placeholder="输入邮箱"> </template>
######方法二,使用v-show来替换
<template v-show="type=== 'username'"> <label>用户名</label> <input placeholder="输入用户名"> </template> <template v-show="type=='good"> <label>邮箱</label> <input placeholder="输入邮箱"> </template>
###当给对象添加属性,但是视图上无变化时 ######使用this.set进行修正官方解释:向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为Vue无法探测普通的新增属性(比如 this.myObject.newProperty=′hi′),你会发现vue官网是vue.set,vue.set的用法,给你们插入连接,怕你们找不到😁,我们现在讲的这个this.set()和它有什么关系呢?咱先说this.$set(),因为他们俩的区别就涉及原理问题啦。
🌹调用方法:this.$set( target, key, value )
🌹 target:要更改的数据源(可以是对象或者数组)
🌹 key:要更改的具体数据
🌹 value :重新赋的值
this.menulist[index].sonList.map((item)=>{ this.$set(item, 'checked', false); ---用vue的set属性赋值 })