$set是用于设置对象属性的。
对于没有声明的属性,直接用赋值的方法,this.xxx= yyy,视图是不会更新的
使用$set ,视图才会更新
语法:
this.$set(obj,key,val)
例子:
<template> <div> {{testData.name}} {{testData.age}} {{testData.sex}} <button @click="setAttr()">设置属性</button> </div> </template> <script> export default { name: "Home", data() { return { testData: { name: "za", age: 23, } }; }, methods: { setAttr() { // 对于没有声明的属性,直接用赋值的方法,视图是不会更新的 // this.testData.sex = "男"; this.$set(this.testData,"sex","男") // this.$set(obj,key,val) } }, }; </script>