0

我正在使用 Vue 和 Laravel Sanctum 来处理登录。这是我的 html 表单

<form action="#" @submit.prevent="handleLogin">
    <input type="text" v-model="form.email">Name<br/>
    <input type="text" v-model="form.password">Password<br/>
    <button>Submit</button><br/>
</form>

这是用于处理登录的方法

  handleLogin () {


            axios.get('/sanctum/csrf-cookie').then(response => {

               axios.post('/login', this.form).then(response => {
                    this.logged_in = true

               })

            });

        }

因此,这确实处理了登录,但除非我刷新页面,否则我无法获取经过身份验证的用户的详细信息,我不想这样做。

为了试图规避这个问题,我将经过身份验证的用户的详细信息从我的控制器传递到我的视图

$auth_user = Auth::user();

return view('maintenance.contractor_maintenances', compact('auth_user'));

然后在我看来,我将它作为道具传递给我的 Vue 组件

<app-contractors-maintenance :auth_user="{{ json_encode($auth_user) }}"/>

在我的组件中

 props: {
        auth_user: {
            required: true,
        }
    }

但是当我{{ auth_user }}在我的组件中时,它也仅在页面刷新时才有效,并且我希望在使用 Sanctum 登录后立即更新这些身份验证详细信息。帮助将不胜感激。

4

0 回答 0