javascript - Vue js在ajax调用后设置数据

标签 javascript vue.js vuejs2 vue-reactivity

我有一个显示用户信息的地方,当页面刷新时,我从 ajax 调用中读取用户信息并设置用户信息数据。但是由于 axios 调用的耗时过程,数据设置是在 DOM 渲染之后执行的。

HTML:

<div> {{user.name}} </div>

vue.js :

data: function(){
 return {
   user: {},
   }
},

methods: { 

getUserInfo() {
   axios.post(laroute.route('link'), data).then((response) => {
      this.$set(this, 'user', response.data.user);
        },
 },

 mounted() {

        this.getUserInfo();
    }

刷新页面后我得到这个错误:

"TypeError: Cannot read property 'name' of undefined"

最佳答案

我无法添加评论。你可以尝试改变:

为创建安装 和 this.$set(this, 'user', response.data.user);对于用户 = response.data.user

无论如何,你可以控制台记录调用结果吗?

关于javascript - Vue js在ajax调用后设置数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51021291/

相关文章:

javascript - 谷歌地图 API 在函数之间传递信息

javascript - 如何用jQuery解析多个json?

javascript - Vue.js - 将变量附加到组件

javascript - 如何使用Vue过滤结果 "live"?

javascript - VSCode 问题 : Vue example doesn't work in Firefox/Chrome, 但它可以在 jsfiddle 中使用

javascript - v-for 按日期分组渲染项目

javascript - Vue 路由器将 url 附加到当前 url

javascript - 逻辑移位如何在 javascript 中工作

Canvas 调整大小的 JavaScript 事件

vue.js - 如何在 vuelidate 验证中使用条件运算符?