Vue.extend创建实例共享store问题
我希望可以在vue实例全局注册类似$toast,$alert的方法,然后在各个组件处可以像this.$toast()这样调用方法。
我现在使用vue.extend的方式,在调用方法时实例化组件,然后挂载在页面上,在不用时可以随时销毁,比如
import Vue from 'vue'
import videoplayer from './video-player.vue';
const videoPlayerConstructor = Vue.extend(videoplayer);
const videoPlayer = (initVideoData = {}) => {
let instance = new videoPlayerConstructor({propsData:{initVideoData:initVideoData}}).$mount();
document.body.appendChild(instance.$el);
};
export default videoPlayer;
Vue.$videoPlayer = Vue.prototype.$videoPlayer = videoPlayer;
但是因为这是新实例化的vue,取不到全局挂载的vue对象下的类似store的实例,请问有什么好的办法或者说优雅官方的做法,让这样的组件可以获取到主实例上的store。或者有其他方法可以实现我的这种用法需求。