美文网首页
2020-08-27 Vue 操作嵌套数组 数据与视图不同步

2020-08-27 Vue 操作嵌套数组 数据与视图不同步

作者: jinya2437 | 来源:发表于2020-08-27 15:05 被阅读0次

上移 下移操作,改变数组下标,可为什么视图上面的数据位置没有变化...

      //上移
      moveUpFn(index,subIndex,item) {
        let current = item.questionList[subIndex]
        let target = item.questionList[subIndex-1]
        this.questionTypeList[index].questionList[subIndex-1] = current
        this.questionTypeList[index].questionList[subIndex] = target
      },
      //下移
      moveDownFn(index,subIndex,item) {
        let current = item.questionList[subIndex]
        let target = item.questionList[subIndex+1]
        this.questionTypeList[index].questionList[subIndex] = target
        this.questionTypeList[index].questionList[subIndex+1] = current
      },

明明了解Vue对数组封装的函数就那么几个(响应式:数据变→视图变)
push pop shift unshift splice sort reverse ;因此,改变数组下标,视图不会更新

解决办法

      // 触发Vue同步数据显示视图
      vueUpdate() {
        for (let i = 0; i < this.questionTypeList.length; i++) {
          let item = this.questionTypeList[i]
          for (let j = 0; j < item.questionList.length; j++) {
            let subItem = item.questionList[j]
            // 参数:数组对象 --下标--对象
            Vue.set(item.questionList,j,subItem)
          }
          // 参数:数组对象 --下标--对象
          Vue.set(this.questionTypeList,i,item)
        }
      },
      //上移
      moveUpFn(index,subIndex,item) {
        let current = item.questionList[subIndex]
        let target = item.questionList[subIndex-1]
        this.questionTypeList[index].questionList[subIndex-1] = current
        this.questionTypeList[index].questionList[subIndex] = target
        this.vueUpdate()
      },
      //下移
      moveDownFn(index,subIndex,item) {
        let current = item.questionList[subIndex]
        let target = item.questionList[subIndex+1]
        this.questionTypeList[index].questionList[subIndex] = target
        this.questionTypeList[index].questionList[subIndex+1] = current
        this.vueUpdate()
      }

相关文章

  • 2020-08-27 Vue 操作嵌套数组 数据与视图不同步

    上移 下移操作,改变数组下标,可为什么视图上面的数据位置没有变化... 明明了解Vue对数组封装的函数就那么几个(...

  • Vue数组改变视图不更新

    无效 正确方法,vue会触发视图更新 数组操作

  • mongo 数据库操作

    嵌套数组里的成员操作 删除嵌套数组里的成员数据 数据源: {"_id" : "777","someKey" : "...

  • vue面试

    1、vue优点 答:vue轻量级框架,只关注视图层,易于理解学习;双向数据绑定,数据操作方面简单; 组件化操作,...

  • Vue 修改数据问题

    Vue包装了数个数组操作函数,使用这些方法操作的数组去,其数据变动时会被vue监测: push() pop() s...

  • vue原理

    组件化 数据驱动视图传统组件,只是静态的渲染,更行还是依赖于操作DOM数据驱动视图--Vue(MVVM)数据驱动视...

  • 3.mongodb数据操作

    数据类型举例 1.键值对 2.对象 3.数组 4.嵌套对象 5.嵌套数组 操作语法 注:mongodb存储字段使用...

  • 前段面试问题1

    1,vue优势为什么使用vue 【1】只专注与视图层的轻量级的框架 【2】数据的双向绑定 优点是减少了dom操作...

  • Matrix01-03:ndarray数组的操作

    ndarray数组的操作 数组数据转换数组形状变换数组数据选择与操作数组计算处理数组算术运算 一、数组数据转换 注...

  • JQuery与Vue的区别

    数据和视图的分离->解耦(开放封闭原则)jq的数据与视图混在一块(意大利面条式代码),Vue的数据与视图分离 以数...

网友评论

      本文标题:2020-08-27 Vue 操作嵌套数组 数据与视图不同步

      本文链接:https://www.haomeiwen.com/subject/mrbcsktx.html