route和router路由的写法——currentRoute、useRouter、useRoute、getCurrentInstance-proxy获取组件实例的用法
index.vue
<template>
<div id="app" :class="$router.currentRoute.value.path == '/homePage' && pageBlackList == '0' ? 'pageBlackA' : ''">
<!-- v-loading="loading" -->
<my-header v-if="isShowHeader"></my-header>
<keep-alive>
<router-view v-if="$router.currentRoute.value.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$router.currentRoute.value.meta.keepAlive"></router-view>
<my-footer v-if="isShowFooter"></my-footer>
<!-- <fixedBar v-if="isShowFixedBar"></fixedBar> -->
</div>
</template>
<script setup>
import { useRouter, useRoute } from 'vue-router';
import { ref, onMounted, inject, getCurrentInstance,nextTick,computed } from 'vue'
const route = useRoute();
const router = useRouter();
// 强制刷新本页面
const {proxy} = getCurrentInstance()
const ID = route.query.id
const isSchool = ref($router.currentRoute.value.path.indexOf("schoolCompany/schoolIndex") !== -1 ? true : false)
// 取消
const onCancel = () => {
router.back();
this.$router.go(0); // 刷新当前页
this.$router.go(-1); // 返回上一页
window.scrollTo(0, 0); // 回到页面顶部
}
//确定
const onSave = () => {
router.push('/myCenter/projectManage')
this.$router.push({path: '/myCenter/projectManage'});
router.push({ path: "/login", query: { id: '123' } });
router.replace('/intellectual/intellectualHomePage')
router.replace({ path: head.link });
proxy.$message.success("同步写入成功")
proxy.$message.error(res.data.hint)
}
</script>