我有中间件,如果我在线或离线检查用户状态,如果我使用刀片它正在工作,但由于我使用vue.js components
我不知道如何将其传递给组件。
在刀片我可以使用:
@if($user->isOnline)
Online
@else
Offline
@endif
这是我的user
模型:
public function isOnline()
{
return Cache::has('user-is-online-' . $this->id);
}
现在我的问题是如何在我的组件中使用isOnline
?
PS:如果您需要我分享的任何代码,请告诉我
如果您使用刀片来获取变量,则只能在页面加载时获取它。如果您的vue未写入刀片文件中,则您的vue无法获取刀片中的变量。
我建议你在vue组件的创建生命周期中使用axios或其他东西向你的Laravel进行API调用以获取变量。
// Vue
axios.get('example.com/api/users').then((res) => {
this.users = res.data;
}
// Laravel
Route::get('/users', UserController@index);
// Controller
public function index() {
return User::all()->map(function ($user) {
$user->isOnline = $user->isOnline();
return $user;
});
}