我使用laravel-echo
在Nuxtjs中使用pusherjs
。
用于pusherjs配置的 nuxt.config.js 部分:
buildModules: [
[
'@nuxtjs/laravel-echo', {
broadcaster: 'pusher',
key: 'my-key-here',
cluster: 'eu',
forceTLS: true
}
]
],
package.json "vue": "^2.6.12",
"nuxt": "^2.14.3",
"pusher-js": "^7.0.0",
"@nuxtjs/laravel-echo": "^1.1.0",
页面/test.vue <script>
export default {
mounted() {
this.$echo.channel('ch').listen("ev", (res) => {
console.log(res);
});
},
};
</script>
我通过Pusherjs的Debug Console
手动发送了事件,但Chrome的控制台中没有任何反应。我确定密钥和我的应用程序已正确连接到pusherjs;因为当我刷新页面时,日志出现在pusherjs的调试控制台中:
那么为什么前端未收到事件?
最佳答案
看来问题出在v1.1.0
的@nuxtjs/laravel-echo
。
我用了:
this.$echo.channel("ch").on("ev", (res) => {
console.log(res);
});
代替:this.$echo.channel('ch').listen("ev", (res) => {
console.log(res);
});
问题解决了! (只需将on
替换为listen
)引用:
https://github.com/nuxt-community/laravel-echo/issues/17#issuecomment-637520496
关于javascript - 在Nuxtjs页面中未收到Pusher事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63581122/