作用: 在Vue中的data中添加一个响应式数据

HTML

<div id="el">
    <h1>学校信息</h1>
    <h2>名称: {{school.name}}</h2>
    <h2>地址: {{school.address}}</h2>
    <h2 v-if="school.leader">校长: {{school.leader}}</h2>
    <hr>
    <h1>学生信息</h1>
    <button @click="addSex">为学生添加一个年龄,默认为男</button>
    <h2>名称: {{student.name}}</h2>
    <h2>年龄: {{student.age}}</h2>
    <h2 v-if="student.sex">性别: {{student.sex}}</h2>
</div>

js

const vm=new Vue({
      el:"#el",
      data:{
          school:{
              name:"南方IT学员",
              address:"广东"
          },
          student:{
              name:"唐浩富",
              age:20,
          }
      },
      methods:{
          addSex(){
              //在Vue中的data中添加一个响应式数据
              //正确写法
              //第一种写法
              // Vue.set(this.student,'sex','男');
              //第二种写法
              this.$set(this.student,'sex','男');

              //错误写法,set Api不能给Vue实例或者Vue.data直接设置值
              // this.$set(this,'hobby','篮球');
              // Vue.set(this,'hobby','篮球');
          }
      }
  });
  //正确写法
  Vue.set(vm.school,'leader','呓语');
  // vm.$set(vm.school,'leader','呓语')

注意点: Vue.set Api不能给Vue实例或者Vue.data中直接添加属性

最后修改:2023 年 01 月 31 日
如果觉得我的文章对你有用,请随意赞赏