zoukankan      html  css  js  c++  java
  • Vue更新问题

    Vue更新问题

    不会触发

    数组

    • 通过数组下标为数组赋值
       n1(){
           this.list[0]= "用索引直接设置一个项"
           console.log(this.list)
        },
    数组改变,视图不变
    
    • 改变数组长度
    n2(){
    this.list.length =1
    console.log(this.list)
    },
    数组改变,视图不变
    
    • 添加属性
    n3(){
     this.list.forEach(item=>{
       item.haha = "ouhuo"
      })
      console.log(this.list)
    },
    
    • 不懂第四种 向响应式对象删除属性
    this.list.splice(0,1)
    数组改变视图也改变
    

    解决方法总结

    • 1、创建新的数组替换原有数组值

    • 2、使用JavaScript的数组操作函数,这些方法都会返回一个新数组,也是数组替换原理;

    支持的方法:

    Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新。这些方法如下:

    • push() pop() shift() unshift() splice() sort() reverse()

    不支持的方法:

    • filter() concat() slice()

    • 3、使用vue自带的 vue.set(object , key , value ); 向响应式对象添加属性;
    • 4、使用vue自带的 vue.delete(object , key ); 向响应式对象删除属性;
    • 5、对象添加属性还可以使用Object.assign({},obj1,obj2)返回获取的新对象替换原有对象;
      代替 Object.assign(this.someObject, { a: 1, b: 2 })this.someObject = Object.assign({}, this.someObject, { a: 1, b: 2 })
    • 注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象
  • 相关阅读:
    Python·安装扩展包的几种方法
    Arduino系列硬件资源介绍
    树莓派USB摄像头的使用
    树莓派frp服务器和客户端配置教程
    树莓派frp内网穿透
    用Windows远程桌面连接树莓派的方法
    控制窗体的位置和大小
    树霉派更换软件镜像源
    I2C的库函数应用示例
    I2C总线的Arduino库函数
  • 原文地址:https://www.cnblogs.com/dudududadada/p/14711895.html
Copyright © 2011-2022 走看看