Vue Laravel Echo - Simply import Laravel Echo to Vue instance
yarn add @phantasweng/vue-echo
or
npm install @phantasweng/vue-echo
import VueEcho from '@/plugins/vue-echo'
Vue.use(VueEcho, {
broadcaster: 'pusher',
key: process.env.VUE_APP_ECHO_KEY,
wsHost: process.env.VUE_APP_ECHO_HOST,
wsPort: process.env.VUE_APP_ECHO_PORT,
forceTLS: false,
disableStats: true,
authEndpoint: process.env.VUE_APP_ECHO_AUTH,
auth: { headers: { Authorization: 'Bearer ' + Cookies.get('my_access_token') } }
}, store)this.$echo.join(channelName, { isPrivate: true })
this.$echo.subscribe(channelName, eventName, (e) => {...})
this.$echo.unsubscribe(channelName, eventName)import { Echo } from '@/plugins/vue-echo'
Echo.join(channelName, { isPrivate: true })
Echo.subscribe(channelName, eventName, (e) => {...})
Echo.unsubscribe(channelName, eventName)import { Echo } from '@/plugins/vue-echo'
Echo.join(...)
// OR
this._vm.$echo.join(...)| Name | Description | |
|---|---|---|
| join | 加入 Channel | function (channelName, { isPrivate }) |
| leave | 離開 Channel | function (channelName) |
| subscribe | 訂閱 Event | function (channelName, eventName, callback) |
| unsubscribe | 取消訂閱 Event | function (channelName, eventName) |
| getChannels | 取得已加入 Channels | function |
| getEvents | 取得已訂閱 Events | function 取得全部 OR function (channelName) 取得特定 Channel |
| onChange | Channel, Event 變動 | 傳入 function,當變動時執行 Hook |