我正在使用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后立即更新这些身份验证详细信息。帮助将不胜感激。