簡體   English   中英

如何在 laravel vue.js 中檢查用戶是否在線

[英]How to check if a user is online in laravel vue.js

我正在嘗試檢查用戶是否在線所以我可以顯示一個綠色圓圈這是我的模板

<template>
<div>
    <span class="fas fa-circle pull-right text-success" v-if="checkUser"></span>
    <span class="fas fa-circle pull-right text-danger" v-else></span>
</div>
</template>

這是我的帶有道具的腳本

<script>
export default {
    name: "OnlineUser",
    props: ['contact', 'onlineusers'],
    data(){
      return{
      }
    },
    methods:{

    },
    computed:{
        checkUser() {
            return  _.find(this.onlineusers, {id: this.contact});

        },
    },
    mounted() {

    },
    created() {

    }
}
</script>

當我檢查 vue 開發工具時,所有在線用戶都顯示在那里,但我嘗試保存我的 function 的結果以查看它返回的內容,它總是返回未定義

好吧,最簡單的方法是像這樣定義它:

 ```<script>
        window.loggedIn = {!! json_encode([
        'signedIn'=>Auth::check(),
    ]) !!};
    <script/>```

這樣,您將擁有一個名為“loggedIn”的全局變量,如果用戶在線或不在線,它將為您提供 true 或 false。

看起來您正在使用 lodash 檢查用戶是否存在於 onlineusers 數組中。

這不是錯誤,這是預期的行為,就像文檔_.find()方法所說的那樣:

返回匹配的元素,否則未定義。

我建議使用_.some()方法:

checkUser() {
    return  _.some(this.onlineusers, ['id', this.contact.id});
}

就像文檔說的那樣:

如果任何元素通過謂詞檢查,則返回 true,否則返回 false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM