检查laravel vue中的用户状态

问题描述 投票:0回答:1

我有中间件,如果我在线或离线检查用户状态,如果我使用刀片它正在工作,但由于我使用vue.js components我不知道如何将其传递给组件。

在刀片我可以使用:

@if($user->isOnline)
Online
@else
Offline
@endif

这是我的user模型:

public function isOnline()
{
  return Cache::has('user-is-online-' . $this->id);
}

现在我的问题是如何在我的组件中使用isOnline

PS:如果您需要我分享的任何代码,请告诉我

laravel vue.js
1个回答
1
投票

如果您使用刀片来获取变量,则只能在页面加载时获取它。如果您的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;
    });
}
© www.soinside.com 2019 - 2024. All rights reserved.