路由是
layout
二级路由:yifabu
rencaishichang
goutong
gongsizhuye
login
设置导航守卫和正常页面跳转的时候,都是网址动了,但是页面是空白的
在app.vue处写了<router-view></router-view>为一级路由的出口??
这样之后在页面里写<router-link to="/login">登录</router-link>无法切换到login中吗??
/*main.js*/
import Vue from "vue";
import App from "./app2.vue";
import router from "@/router/index.js";
Vue.config.productionTip = false;
new Vue({
render: (h) => h(App),
/**挂载一个router的实例对象 */
router: router,
}).$mount("#app");
//app2.vue
<template>
<div>
<router-view></router-view>
</div>
</template>
// router/index.js
//导入Vue Vue-router
import Vue from "vue";
import VueRouter from "vue-router";
//导入需要的组件
import layout from "../components/layout/layout.vue";
import login from "../components/login.vue";
import yifabu from "@/components/yifabu.vue";
import goutong from "@/components/goutong.vue";
import rencaishichang from "@/components/rencaishichang.vue";
import gongsizhuye from "@/components/gongsizhuye.vue";
Vue.use(VueRouter);
//创建实例对象
const router = new VueRouter({
routes: [
{
path: "/",
component: layout,
children: [
{
path: "/",
component: yifabu,
},
{
path: "goutong",
component: goutong,
meta: {
islogin: true,
},
},
{
path: "rencaishichang",
component: rencaishichang,
meta: {
islogin: true,
},
},
{
path: "gongsizhuye",
component: gongsizhuye,
meta: {
islogin: true,
},
},
{
path: "yifabu",
component: yifabu,
meta: {
islogin: true,
},
},
],
},
{
path: "/login",
componnet: login,
},
],
});
router.beforeEach((to, from, next) => {
if (to.meta.islogin) next("/login");
else next();
});
//声明全局前置导航守卫
//to from next 将要访问的路由的信息对象 next表示一个函数 表示放行
//向外共享路由的实例对象
export default router;
//layout.vue
<div id="t2"><router-link to="/login">登录</router-link></div>