
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Vue integration for the Laravel Echo library.
This Vue plugin injects a Laravel Echo instance into all of your vue instances, allowing for a simple channel subscription on each instance, or using Laravel Echo through this.$echo
.
npm install vue-echo --save
First you'll need to register the plugin and, optionally, initialize the Echo instance.
import VueEcho from 'vue-echo';
Vue.use(VueEcho, {
broadcaster: 'pusher',
key: 'PUSHER KEY'
});
/**
* Alternatively you can pass an echo instance:
* ********************************************
* import Echo from 'laravel-echo';
*
* const EchoInstance = new Echo({
* broadcaster: 'pusher',
* key: 'PUSHER KEY'
* });
* Vue.use(VueEcho, EchoInstance);
*/
Once vue-echo is registered, every vue instance is able to subscribe to channels and listen to events through the this.$echo
property on the connection you specified earlier.
var vm = new Vue({
mounted() {
// Listen for the 'NewBlogPost' event in the 'team.1' private channel
this.$echo.private('team.1').listen('NewBlogPost', (payload) => {
console.log(payload);
});
}
});
You can subscribe a vue instance to a single standard channel if needed and define your events.
var vm = new Vue({
channel: 'blog',
echo: {
'BlogPostCreated': (payload, vm) => {
console.log('blog post created', payload);
},
'BlogPostDeleted': (payload, vm) => {
console.log('blog post deleted', payload);
}
}
});
Since the scope of this
would be the same as the scope where you declare your Vue instance a second parameter is added to these locally registered events. This parameter is a direct reference to your Vue instance, you can make any changes you need through there.
Laravel Echo allows you to subscribe to: normal, private and presence channels.
In the example above, we subscribed to a standard channel.
If you would like to subscribe to a private channel instead, prefix your channel name with private:
var vm = new Vue({
channel: 'private:team.1',
echo: {
'BlogPostCreated': (payload, vm) => {
console.log('blog post created', payload);
},
'BlogPostDeleted': (payload, vm) => {
console.log('blog post deleted', payload);
}
}
});
If you would like to subscribe to presence channel instead, prefix your channel name with presence:
var vm = new Vue({
channel: 'presence:team.1.chat',
echo: {
'NewMessage': (payload, vm) => {
console.log('new message from team', payload);
}
}
});
If there's a scenario where you want to listen to events after certain conditions are met, you can do so through this.channel
:
var vm = new Vue({
channel: 'private:team.1',
echo: {
'BlogPostCreated': (payload, vm) => {
console.log('blog post created', payload);
},
'BlogPostDeleted': (payload, vm) => {
console.log('blog post deleted', payload);
}
},
mounted(){
if(window.user.role == 'admin'){
this.channel.listen('BlogPostEdited', (payload) => {
console.log('As admin I get notified of edits', payload);
});
}
}
});
FAQs
Vue integration for the Laravel Echo library.
The npm package vue-echo receives a total of 1,078 weekly downloads. As such, vue-echo popularity was classified as popular.
We found that vue-echo demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.