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 实例的根数据对象
  • 相关阅读:
    Jmeter的两种录制脚本的方式
    【.NET】设置EntityFramework中decimal类型数据精度 [转]
    vscode格式化vue不换行
    mysql5.7 noinstall 安装 【转载】
    配置STP、RSTP以及负载均衡
    配置3层交换机VLAN间通信
    配置单臂路由
    配置DTP
    配置trunk
    配置VLAN
  • 原文地址:https://www.cnblogs.com/dudududadada/p/14711895.html
Copyright © 2011-2022 走看看