nuxt.js - 如何从 nuxt 插件发出事件?

标签 nuxt.js

我正在创建一个插件,它将发出由套接字触发的基本 nuxt 事件。然后将收到 nuxt 事件并打开一个 snackbar 。在组件内部时,使用 $nuxt 可以轻松发送和接收事件。

this.$nuxt.$on('open-snackbar', this.handler)
this.$nuxt.$emit('open-snackbar', options)
但是,我如何尝试在插件中执行此操作,因此它不绑定(bind)到任何一个页面,而是存在于整个应用程序中。我似乎无法弄清楚如何从所述插件中发出它:
export default (context) => {
    console.log(context)
    console.log(context.$emit)
    console.log(context.emit)
    console.log(context.$nuxt)
    console.log(context.app.emit)
    console.log(context.app.$nuxt)
}
context.app似乎它是正确的对象,但它似乎不起作用。有任何想法吗?

最佳答案

你可以在你的 plugin.js 文件中使用类似的东西,插件会做的是使用 window.$nuxt.$emit在客户端可用

export default function (context) {
    $nuxt.$emit('event-to-emit')
}

关于nuxt.js - 如何从 nuxt 插件发出事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58142572/

相关文章:

javascript - nuxt.js - 预加载 .woff 字体加载为 @font-face

nuxt.js - 如何从 Nuxt.js 访问文件系统?

css - Vue 不允许我生成网格模板列

javascript - Nuxt : how to load data to store on app initialization

javascript - 如何从 nuxt 路由器模块的 router.js 文件访问 Vuex 存储?

vue.js - nuxt 需要服务器吗?

javascript - 使用 Express 的 Nuxt 应用程序不允许在应用程序外部访问 POST 路由

javascript - 是否有一个 created() 用于自动调度 vuex Action

nuxt.js - 无法启动 nuxt : Cannot read properties of undefined (reading 'sitemap' )

vue.js - 我在 asyncData 中遇到非常慢的 Axios 请求