首页 > 解决方案 > 如何在 vue js laravel 中将特定用户数据从 $route.params.id 显示到我的组件

问题描述

我是 Laravel 和 VueJS 的新手,我正在尝试通过使用$route.params.id获取用户的特定用户 ID 来显示特定的用户详细信息。正如您在内部方法中看到的那样,getUserdata()我正在尝试this.userdetail但其未定义的控制台日志结果console.log

我的 Vue 组件

 export default {
    data(){
        
    return {
        id: this.$route.params.id,
        userdetail: {},
    };
},

    methods:
    {
         getUserdata()
        {
            axios.get(`getuserdata/${this.id}`).then((response) => 
                {
                    this.userdetail = response.data.data
                    console.log(this.userdetail)
                }).catch((error) => 
                {
                    console.log(error)
                })
        },
    },
    mounted()
    {
        this.getUserdata()
    }
}

我的网络路线

Route::get('getuserdata/{id}', [UserController::class, 'getUserdetails'])->middleware(['auth']); 

用户控制器

public function getUserdetails($id)
{
    $userpost = DB::table('posts')->where('id', $id)->get();
        
    return response()->json(['data' => $userpost]);
}

标签: laravelvue.js

解决方案


在您编写的 axios 调用的 .then 函数中,response.data.data最后一个.data太多了。


推荐阅读