• vue-router 嵌套路由没反应


    先看下route.js

    //route.js
    const App = () => import('../App.vue');
    const Login = () => import('../component/Login.vue');
    const Class = () => import('../component/Class.vue');
    const CourseList = () => import('../component/CourseList.vue');
    const CourseContent = () => import('../component/CourseContent.vue');
    
    const routers = [{
    	path:'/',
    	component:App,
    	children:[{
    			path:'login',
    			component:Login
    		},{
    			path:'class',
    			component:Class
    		},
    		{  
    			path:'course',
    			children:[{
    					path:'list',
    					component:CourseList
    				},{
    					path:'content',
    					component:CourseContent
    				}
    			]
    			
    		},
    	]
    }]
    
    export default routers
    

      

    当你访问的时候,发现
    http://localhost:8080/#/login
    http://localhost:8080/#/class
    都正常,但是:
    http://localhost:8080/#/course/list
    http://localhost:8080/#/course/content
    都是一片空白,检查元素,发现没有加载过来。检查,子路由前面并没有加/,所以这没有问题,排除。
    其实这是list的父级course没有component,有了componnet,并且需要在这个component理要有<router-view></router-view>,修改下:

    { 
    path:'course',
    component:Course
    children:[{
    path:'list',
    component:CourseList
    },{
    path:'content',
    component:CourseContent
    }
    ]
    },

    Course.vue如下:

    <template>
    <div>
    <router-view></router-view>
    </div>
    </template>
    

      

    这样就可以实现嵌套了。想想,本例子中,其实App组件也是这样的,他提供了个<router-view></router-view>,对不对?

    http://localhost:8080/#/course/list
    http://localhost:8080/#/course/content
    都可以访问了。

  • 相关阅读:
    themes、skins
    使用GreyBox实现Ajax模式窗口
    .net最小化到系统托盘
    asp.net自定义控件
    [转]SQL函数的简短说明
    prototype1.4 和1.5
    [转]Oracle PL/SQL 编程手册(SQL大全)
    更新同一张表中的数据的方法
    js中eval()的作用
    asp.net中的中文和特殊字符的处理方式!
  • 原文地址:https://www.cnblogs.com/xiaochongchong/p/7773239.html
Copyright © 2020-2023  润新知