【发布时间】:2018-05-06 12:07:39
【问题描述】:
我正在尝试在 Vuex Store 模块中使用 Vue.js 插件。
在一个组件中,我可以这样称呼它:this.$plugin()。但是,在 模块 中,this 未设置。我认为Vue.$plugin() 会起作用,因为我使用Vue.use(plugin) 和 Vue 作为全局变量来初始化插件,但事实并非如此。
如何从模块中引用插件?
【问题讨论】:
-
是你的插件吗?你有密码吗?
-
这里是插件:github.com/euvl/vue-notification 尝试使用
this.$notify()。但这应该适用于所有具有实例方法的插件。 -
使用
this肯定不行,Vuex不是Vue的实例。查看插件,它看起来并没有为您提供一种简单的方法来做您想做的事情。 -
这是hacky way,您可以这样做。但我认为您可能希望在 Vuex 状态下创建一个通知数组,并在需要通知时填充它,然后在 Vue 中观察通知队列并根据需要弹出/显示它们。
-
这就是我最终的做法。
window._app = new Vue({});和_app.$notify({});感谢您的帮助!