zoukankan      html  css  js  c++  java
  • vue中$set和$delete

    vue给对象新增属性

    对于一般的对象新增属性,只需要对象新增属性赋值操作就可以啦,但是不会触发视图更新.
    示例:

    <template>
      <div>
         <div class="box">
           <span>姓名: {{infos.name}}</span>
           <span>{{infos.message}}</span>
           <button @click="addtooltip">查看信息</button>
         </div>
      </div>
    </template>
    
    <script>
      export default {
        name: "module1",
        data() {
          return {
            infos: {
              name: '张三',
              age: 24
            }
          }
        },
        methods:{
           addtooltip() {
              this.infos.message = '出生于四川遂宁';
           }
        }
      }
    </script>
    

    而在我们点击“查看信息”按钮时,看到页面并没有显示,而打印 this.infos 就有message字段,所以

    实例创建后添加属性,并不会触发视图更新
    这时候需要使用 vue中 $set 方法,既可以新增属性,又可更新视图

    this.$set(this.infos, "message",  "出生于四川遂宁")
    

    或者如果是全局就使用这种

    var vm = new Vue({..})
    vm.set(this.data, "key", value)
    

    set


    vue删除对象中某个属性同理,使用delete

    delete this.data.key
    

    或者

    var vm = new Vue({..})
    vm.delete(this.info, "age")
    
    

    delete

  • 相关阅读:
    安装PyExecJS出现问题
    常用模块
    python2和python3的区别
    正则表达式
    MySQL之表的关系
    Python与MySQL的交互
    select 查询
    MySQL之表的连接
    bug
    黑盒测试-判定表驱动法
  • 原文地址:https://www.cnblogs.com/xiaolanschool/p/9449758.html
Copyright © 2011-2022 走看看