vue 请求数据异步,页面渲染完成后数据才加载完成,数据无法回填到页面中

页面的逻辑是先请求后端的数据,然后再回填到页面中。但在实现的时候发现调取数据的时候异步了,想问一下大佬应该怎么修改。下面上相关代码。

methods: {
  // 请求后端数据数据
  getList() {
    $.ajax({
      url: `${window.Glob.BaseUrl}produceprocesscard/getd?primaryKey=BILLNO`,
      type: "GET",
      contentType: "application/x-www-form-urlencoded",
      dataType: "text",
      success(result) {
        let data = JSON.parse(result);
        this.Header = data.Header
        console.log(this.Header,1);
      },
      error(msg) {
        console.log(msg);
      }
    })
  }
},

created() {
  this.$nextTick(function (){
    this.getList()
  })
  console.log(this.Header,0);
},

打印变量,出来的顺序。导致数据没有回填到页面中。非常感谢大佬能够帮忙解答。
image.png

阅读 4.8k
2 个回答
success(result) {
  let data = JSON.parse(result);
  this.Header = data.Header
  console.log(this.Header,1);
}

你这里的this.Header并不是指向组件实例啊。可以改成

success:(result) => {
  let data = JSON.parse(result);
  this.Header = data.Header
  console.log(this.Header,1);
}

是通过 this.getList() 这个方法来回填吗? 可以把操作数据的放在调接口的回调函数里面.也就是success(result){}里面

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题