Vue ---在for循环修改页面中某个值,页面没有及时刷新问题(使用this.$forceUpdate()解决)

最近使用vue开发时,在一个函数中使用for循环,改变了页面中的值,在函数中查看是修改成功的,但是页面中没有及时刷新。

解决方法:

运用this.$forceUpdate()强制刷新。

export default {
  data() {
    return {
      dataList:[],
    };
  },
  methods: {
    getData() {
      var _this = this;
      var dataList = [];
      dataList = response.data.data;

      for(var i=0;i<dataList.length;i++){
         _this.downloadBase64(dataList[i].fielID, i, dataList);
      }

    },
    downloadBase64(fielID, i, dataList) {
        var vm = this;
        $.ajax({
            url: AppInter.downloadBase64,
            asysc: true,
            data: {
                fileName: ‘1.jpg‘,
                fileId: fielID
            },
            cache: !0,
            timeout: 2e4,
            dataType: "json",
            type: "POST",
            xhrFields: {
                withCredentials: !0
            },
            crossDomain: !0,
            contentType: "application/x-www-form-urlencoded;charset=UTF-8",
            beforeSend: function () {
                vm.loading = weui.loading();
            },
            success: function (response) {
                if (response.responseCode == ‘0‘) {
                    dataList[i].picUrl = ‘data:image/jpg;base64,‘ + response.data;
                    vm.dataList = dataList;
                    vm.$forceUpdate();
                } else {
                    weui.alert("请求错误,请稍候再试", function () {}, {
                        title: ‘温馨提示‘
                    });
                }
            },
            error: function (xhr, msg, err) {
                weui.alert("请求失败,请稍候再试", function () {}, {
                    title: ‘温馨提示‘
                });
            },
            complete: function () {
                if (vm.loading.hide) {
                    vm.loading.hide();
                }
            }
        })
    }

  },
  created() {

  },
  mounted() {

  }
};

原文地址:https://www.cnblogs.com/Super-scarlett/p/11132034.html

时间: 2024-08-10 15:11:40

Vue ---在for循环修改页面中某个值,页面没有及时刷新问题(使用this.$forceUpdate()解决)的相关文章

后端model传入前端JSP页面中的值判断后再取值

所遇到的问题后端model传入前端JSP页面中的值通过foreach循环内要满足条件才能取值给Div中,我们知道jsp页面中可以直接用EL表达式取值,格式就是${"model中传来的数据"},但是我要把传过来的数据判断后再取值就遇到了问题,通过查百度发现了一个方法,下面就分享一下. 1 <c:forEach var="v" items="${page.objectList}"> 2 <tr> 3 <td style=

使用JavaScript设置、获取父子页面中的值

一:获取父页面中的值 有二种方法windows.open()和windows.showModalDialog() 1.windos.open(URL,name,reatures,replace) 再父页面中 fatherPage.aspx <script type="text/javascript"> function a(){ windows.open("sonPage.aspx") } </script> 在子页面(sonPage.asp

jsp页面中引用其他页面的方法

初看这个标题....大家的感觉一定是好2啊.....博主一定要说jsp的动态引用(jsp:include)和静态引用(@include)了.介绍这两者区别的文章已经烂大街了..一搜一大把..博主竟然还来介绍这些老古董..果断alt+F4... 如果你确实是这么想的...那请先别急着关闭页面...今天我来分享一下自己的理解,算是对烂大街的东西的一点补充吧...(后面文字会比较啰嗦) 首先先说明下为什么会去讨论这个话题. 我在写自己的博客程序的时候(blogv2.labofjet.com),程序中的

jQuery 获取jsp页面中用iframe引入的jsp页面中的值

<iframe scrolling="no" src="<c:url value='/unitBaseperson/view.do?para=9&op=send&type=xls'/>" id="main" frameborder="0" width="400"></iframe> <!--在a.jsp页面中--> 假如我的jsp页面包含这样一

vue 父页面中含子页面滑动,滑动结束,底部组件进行滑动

详见效果地址: https://pan.baidu.com/s/1Yin2q0Fh_6AQJTlbie7QMw 使用 1.v-touch 实现滑动效果,父级页面滑动,当父级含有子页面需要滑动功能hasClass("sm_img"),需要判断是否继续父级滑动,有的话子页面先滑动,通过upB去判断 if($(imgShowChild[that.childNum]).children().children().hasClass("sm_img")&&tha

获取前台页面中的值,将获取到的值传到后台,做简单的登录验证(不与数据库关联)

思路:利用jQuery的AJAX 前台代码: 1 <body> 2 <form id="form1" runat="server"> 3 <div> 4 <table> 5 <tr> 6 <td>用户名:</td> 7 <td> 8 <input type="text" id="name" name="Usernam

thinkphp用phpexcel读取excel,并修改列中的值,再导出excel,带往excel里写入图片

<?php class GetpriceAction extends AdministratorAction { // 文件保存路径 protected $savepath; // 允许上传的文件类型 protected $allowFileType; public function _initialize(){ parent::_initialize(); $this->savepath = './xxx/'.date('Ymd').'/'; $this->allowFileType

循环获取数据库中的值,并存储到集合中

package com.zdy.getxxx; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.HashSet;import java.util.Set; public class TestStudent { public static void main(String[] args) { try { link(); } catch (E

for循环取出类中Map值

方法有两种: 第一种:简单 for(Entry<String,类> en:实例.getMap变量方法().setEntry()) { System.out.println(en.getKey()+" "+en.getValue()); } 第二种:迭代器 Map<String,类>  ma=实例.getMap变量方法(): Iterator it = ma.keySet().iterator(); while(it.hasnext()) { String key