时间:2021-05-26
模板抽离
我们已经学习过了Vue模板的另外定义形式,使用<template></template>。
<!-- 模板抽离出来 --> <template id="home"> <div>首页</div> </template> <template id="news"> <div>新闻</div> </template>然后js里定义路由组件的时候:
// 1. 定义(路由)组件。 const Home = { template: '#home' }; const News = { template: '#news' };路由嵌套
实际应用界面,通常由多层嵌套的组件组合而成。
比如,我们 “首页”组件中,还嵌套着 “登录”和 “注册”组件,那么URL对应就是/home/login和/home/reg。
<template id="home"> <!-- 注意:组件只能有一个根元素,所以我们包装到这个div中 --> <div> <h2>首页</h2> <router-link to="/home/login">登录</router-link> <router-link to="/home/reg">注册</router-link> <!-- 路由匹配到的组件将渲染在这里 --> <router-view></router-view> </div> </template>这是访问/home后的模板,其中我们需要把/home/login和/home/reg渲染进来。
完成上面代码后,HTML结构如下图:
登录和注册2个组件
3.定义路由
// 2. 定义路由 const routes = [ { path: '/', redirect: '/home' }, { path: '/home', component: Home, children:[ { path: '/home/login', component: Login}, { path: '/home/reg', component: Reg} ] }, { path: '/news', component: News} ]注意我们在home路由配置了它的children。这就是嵌套路由。
4.案例全部代码如下:
<!DOCTYPE html><html><head> <title></title> <meta charset="utf-8"> <script src="http://unpkg.com/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script></head><body> <div id="box"> <p> <router-link to="/home">home</router-link> <router-link to="/news">news</router-link> </p> <router-view></router-view> </div> <!-- 模板抽离出来 --> <template id="home"> <!-- 注意:组件只能有一个根元素,所以我们包装到这个div中 --> <div> <h2>首页</h2> <router-link to="/home/login">登录</router-link> <router-link to="/home/reg">注册</router-link> <!-- 路由匹配到的组件将渲染在这里 --> <router-view></router-view> </div> </template> <template id="news"> <div>新闻</div> </template> <template id="login"> <div>登录界面</div> </template> <template id="reg"> <div>注册界面</div> </template> <script type="text/javascript"> // 1. 定义(路由)组件。 const Home = { template: '#home' }; const News = { template: '#news' }; const Login = { template: '#login' }; const Reg = { template: '#reg' }; // 2. 定义路由 const routes = [ { path: '/', redirect: '/home' }, { path: '/home', component: Home, children:[ { path: '/home/login', component: Login}, { path: '/home/reg', component: Reg} ] }, { path: '/news', component: News} ] // 3. 创建 router 实例,然后传 `routes` 配置 const router = new VueRouter({ routes // (缩写)相当于 routes: routes }) // 4. 创建和挂载根实例。 // 记得要通过 router 配置参数注入路由, // 从而让整个应用都有路由功能 const app = new Vue({ router }).$mount('#box') // 现在,应用已经启动了! </script></body></html>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言:前面我们把动态路由、嵌套路由等讲完了,说道完命名路由和命名视图,vue-router的基本使用方法就算是完篇了,还想仔细探究的同学可以去官网翻阅,加深理解
本文实例讲述了vue嵌套路由与404重定向实现方法。分享给大家供大家参考,具体如下:第一部分:vue嵌套路由嵌套路由是什么?嵌套路由就是在一个被路由过来的页面下
vuerouter路由嵌套不显示问题的解决方法,具体内容如下路由嵌套,vue2.0router中嵌套路由不成功,如何解决?我先说下我的需求,例如下图我本来是想打
react我自己还在摸索学习中,今天正好学习一下react-router4嵌套路由的使用方法,顺便留着笔记先直接贴代码importReactfrom'react
注意:vue-router是无法完全控制前端路由权限。1、实现思路使用vue-router实例函数addRoutes动态添加路由规则,不多废话直接上思维导图:2