前端开发那些事儿

vue数据更新了,视图不更新,怎么解决?

2020-08-06  本文已影响0人  焚心123
    onLoad: function (options) {
            var that=this;
          // 循环金额的时候,只显示最后一个,给每个金额后main加 二位小数点
          var price;
            that.list.data.orderList.forEach((v)=>{
              v.isUp=false;通过给数据中加这个变量,来达到点击是否显示还是隐藏
              price=v.amountPay.toFixed(2);
              that.price.push(price)
            })
        },
     methods:{
             // 点击查看卡信息,显示信息
              show(index){
                // 调用强制更新方法this.$forceUpdate()会更新视图和数据,触发updated生命周期。
                    this.$forceUpdate();//也可以使用object.assign()进行更新视图
               //点击当前的下标的数据的时候,让这个变量为true,在点击收起的时候,让当前的变量隐藏
                    this.list.data.orderList[index].isUp=true;
                                      //方法中可以直接传递当前的数据(item),item.flg=!item.flg;也可以
                                      //第一个参数,如果你当前的数据如this.list.data.orderList是数组就写[],是对象就写{}
                                      this.list.data.orderList=Object.assign([],this.list.data.orderList);
              },
                        // 点击收起
              hide(index){
                // 调用强制更新方法this.$forceUpdate()会更新视图和数据,触发updated生命周期。
                  this.$forceUpdate()
                  this.list.data.orderList[index].isUp=false;
              }

      }

上一篇下一篇

猜你喜欢

热点阅读