嵌套路由就是在一条路由里可以定义一些子路由。打开项目里的 post.routes.ts ,比如我打算在 postShow 这条路由里面再嵌套一些路由,这些被嵌套的路由或者叫子路由可以放在 children 属性里面,它的值是一个数组,数组里的项目就是要定义的子路由。
子路由的定义跟普通路由的定义没什么区别,一个对象,里面可以使用 path 设置一下子路由的地址,比如 meta,这样访问这个路由的时候,地址应该是它的父路由的地址,加上 meta ,也就是 /posts/:postId/meta。
再用 component 设置一下对应的组件,比如 PostMeta,下面可以去创建这个组件,放在 src/post/show/components 里面,名字叫 post-meta.vue,组件里面添加一组 template, 一组 div,添加一行文字,PostMeta。
回到浏览器先试一下,访问一下刚才在 postShow 里面定义的子路由,地址是 /posts/:postId/meta 。 现在界面上并没有显示子路由对应的组件里的内容。
这是因为我们需要设置一下 router-view , 回到项目,打开 PostShow 这个组件, 这个组件是 postShow 这条路由对应的组件,这条路由的子路由对应的组件会在这个组件里显示,所以在这里我们需要找个地方,添加一个 router-view,这样子路由的组件就会显示在这里。
回到浏览器,你会发现在 PostShow 这个组件的下面,会出现 PostMeta 这个组件的内容。