Vue3.0下,如何在组件的setup()中监听vuex里某个state的变化? - 知乎

// use this file at setup function

import { watch } from 'vue'
import { useStore } from '@/store';
import { useRouter } from 'vue-router';
import { get } from 'lodash-es';

/**
 * Auth Guard 拦截
 */
export default function useAuth() {
    const store = useStore()
    const router = useRouter();

    if (!get(router.currentRoute.value.meta, 'auth')) {
        return {}
    }

    // 监听是否是 401 请求
    watch(() => store.state.poppy.is401,
        (newValue, oldValue) => {
            if (newValue && !oldValue) {
                router.push({
                    name: 'user.login',
                    query: {
                        go: router.currentRoute.value.path
                    }
                }).then()
            }
        }, {
            deep: true
        }
    );
}

原网址: 访问
创建于: 2023-10-08 11:29:47
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论