vue数组和对象的更新问题
注意:Vue 不允许在已经创建的实例上动态添加新的根级响应式属性(root-level reactive property)
数组不能检测数据变化情况
<script>
var vm = new Vue({
el:"#app",
data:{
scores:[80,70,50,60]
},
methods:{
updataScore(){
// 失败的情况1:通过索引index修改值
this.scores[0] = 90
// 成功1:
this.$set(this.scores, 0, 90)
// 成功2:
this.score.splice(0, 1, 90)
// 失败的情况2:修改数据的长度
this.scores.length = 3
// 成功
this.scores.splice(3)
}
}
})
对象不能检测数据变化情况
Vue不能检测到对象属性的添加和删除
<script>
var vm = new Vue({
el:"#app",
data:{
teacher:{
name:李四
}
},
methods:{
updataTeacherInfo(){
// 失败的情况1:为data中的某一个对象添加一个属性
this.teacher.age = 28
// 成功1:
this.$set(this.teacher, age, 28)
// 成功2:
this.student = Object.assign({
}, this.teacher, {
age:28,})
// 错误示范2
Object.assign(this.teacher, {
age:28,}
// 失败情况2:删除某一属性
delete this.teacher.name
// 成功1:
this.$delete(this.teacher, "name")
}
}
})
上一篇:
IDEA上Java项目控制台中文乱码
