plugins.js 654 B

1234567891011121314151617181920
  1. import vue from 'vue';
  2. export const createMutationObserve = ({ modules = [] }) => {
  3. return (store) => {
  4. store.subscribe((mutation, state) => {
  5. // 每次 mutation 之后调用
  6. // mutation 的格式为 { type, payload }
  7. console.log(mutation, 'mutation');
  8. if (
  9. modules?.length &&
  10. modules.find((i) => mutation?.type?.startsWith(i + '/')) &&
  11. mutation.payload.toPort
  12. ) {
  13. console.log(vue.prototype.$portalStore, 'vue.prototype.$portalStore');
  14. vue.prototype.$portalStore?.commit &&
  15. vue.prototype.$portalStore?.commit(mutation.type, mutation.payload);
  16. }
  17. });
  18. };
  19. };