我使用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的控制台中没有任何反应。
javascript - 在Nuxtjs页面中未收到Pusher事件-LMLPHP
我确定密钥和我的应用程序已正确连接到pusherjs;因为当我刷新页面时,日志出现在pusherjs的调试控制台中:
javascript - 在Nuxtjs页面中未收到Pusher事件-LMLPHP
那么为什么前端未收到事件?

最佳答案

看来问题出在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/

10-09 16:51