返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue 路由视图 router-view嵌套跳转的实现
  • 735
分享到

vue 路由视图 router-view嵌套跳转的实现

2024-04-02 19:04:59 735人浏览 泡泡鱼
摘要

目录1、修改app.Vue页面2、创建登录页面(/views/login/login.vue)2.1、在router/index.js中添加登录页面路由3、创建主页面(/compon

目的:

实现功能:制作一个登录页面,跳转到首页,首页包含菜单栏、顶部导航栏、主体,标准的后台网页格式。菜单栏点击不同菜单控制主体展示不同的组件(不同的页面)。

配置router-view嵌套跳转需要准备两个主要页面,一个由app.vue跳转的登录页面(login.vue),一个由登录页面(login.vue)跳转首页(index.vue)。另外还需要两个用于菜单跳转页面,页面内容自定义

我这里使用的是element-ui作为模板

前置:引入element-ui

项目目录下执行命令:npm i element-ui -s

修改main.js,引入element组件

步骤:

  • 创建登录页面(login.vue)
  • 创建后台操作页面(index.vue)
  • 配置后台操作页面菜单跳转
  • 配置嵌套路由视图路由控制菜单跳转

1、修改app.vue页面

app页面只要放置一个router-view标签即可,每一个路由请求默认都是从这里进去跳转


<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'App',
  methods: {
  }
}
</script>

<style>
</style>

2、创建登录页面(/views/login/login.vue)

这里的登录按钮跳转是直接跳转到主页面,当前登陆页面将完全被替换掉

登录页代码:point_down:


<template>
  <div id="login">
    <el-fORM>
      <el-row :gutter="20">
        <el-col class="title" :offset="9" :span="6">
          <h1>一个登录页面</h1>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col class="col-label" :offset="7" :span="4">
          <span class="label">账号:</span>
        </el-col>
        <el-col :span="4">
          <el-input type="text" placeholder="请输入账号" v-model="account.username"></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col class="col-label" :offset="7" :span="4">
          <span class="label">密码:</span>
        </el-col>
        <el-col :span="4">
          <el-input type="passWord" placeholder="请输入密码" v-model="account.password"></el-input>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :offset="8" :span="8">
          <span>
            <a href="#" rel="external nofollow"  rel="external nofollow"  @click="reGISter" >注册账号</a>
            /
            <a href="#" rel="external nofollow"  rel="external nofollow"  @click="resetPwd" >重置密码</a>
          </span>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :offset="10" :span="4">
          <el-button type="primary" round @click="onSubmit">登录</el-button>
        </el-col>
      </el-row>
    </el-form>
  </div>
</template>

<script>
export default {
  name: 'login',
  data() {
    return {
      account: {
        username: '',
        password: ''
      }
    }
  },
  methods: {
    register() {
      this.$message({
        message: '好像没这功能',
        type: 'info'
      })
    },
    resetPwd() {
      this.$message({
        message: '下辈子吧',
        type: 'success'
      })
    },
    onSubmit() {
      this.$router.push('/index')
    }
  }
}
</script>

<style scoped>
  #login {
    text-align: center;
    margin: 0 auto;
  }
  .label {
    height: 40px;
    line-height: 40px;
  }
  .col-label {
    text-align: right;
  }
  .el-row {
    margin-top: 15px;
  }
  .el-button {
    width: 120px;
  }
  .title {
    margin-top: 10%;
  }
</style>

View Code

2.1、在router/index.js中添加登录页面路由


{
      path: '/',
      name: 'login',
      component: () => import('../views/login/login.vue')
},

3、创建主页面(/components/index.vue)

主页面主要分为三块,左侧菜单栏(el-menu),顶部导航栏(el-container),主体展示页面(el-main),这部分是从elment-ui中的布局容器实例拷贝过来的(https://element.eleme.cn/#/zh-CN/component/container)


<template>
  <el-container style="border: 1px solid #eee">
    <el-aside width="200px" style="background-color: rgb(238, 241, 246)">
      <el-menu :default-openeds="['1']" :router="true">
        <el-submenu index="1">
          <template slot="title"><i class="el-icon-message"></i>导航一</template>
          <el-menu-item-group>
            <template slot="title">分组一</template>
            <el-menu-item index="1-1">选项1</el-menu-item>
            <el-menu-item index="1-2">选项2</el-menu-item>
          </el-menu-item-group>
        </el-submenu>
      </el-menu>
    </el-aside>

    <el-container class="table-div">
      <el-header style="text-align: right; font-size: 12px">
        <el-dropdown>
          <i class="el-icon-setting" style="margin-right: 15px"></i>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item>查看</el-dropdown-item>
            <el-dropdown-item>新增</el-dropdown-item>
            <el-dropdown-item>删除</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
        <span>王小虎</span>
      </el-header>

      <el-main>
        <table></table>
      </el-main>
    </el-container>
  </el-container>
</template>

<style>
.el-header {
  background-color: #B3C0D1;
  color: #333;
  line-height: 60px;
}

.el-aside {
  color: #333;
}
</style>

<script>
export default {
  name: 'index',
  data() {
  }
}
</script>

<style>
  .table-div {
    width: 100%;
  }
  .el-table {
    height: 100%;
  }
</style>

3.1、创建主页面路由


{
      path: '/index',
      name: 'index',
      component: () => import('@/components/index')
}

至此,由登录页面跳转到主页面的操作配置就完成了。看看效果。启动项目,访问Http://localhost:8080/#/

点击登录,跳转到首页

4、修改首页

主要修改两个部分:菜单跳转路径,主体配置路由视图

4.1、开启菜单路由模式,并修改菜单跳转路径

el-menu菜单中开启vue-router模式,并在el-menu-item标签中的index配置要跳转的页面地址

4.2、添加router-view

直接将主体内容替换为router-view标签, 并为name属性添加参数,我这使用table标识,这个很重要,路由需要根据这个name属性指定跳转的路由视图

5、创建两个子页面

页面可以在任意位置,只要路由地址配置正确即可

我这创建了first-page.vuefirst-table.vue(页面内容自定义)

router/index.js配置路由,在哪个页面下增加的router-view组件,就在相应的路由配置中添加children,这里是在index路由修改配置,添加children,配置pathnamecomponents(这里注意,如果只配置默认路由视图跳转,用的参数是component,配置多路由视图跳转时components


{
      path: '/index',
      name: 'index',
      component: () => import('@/components/index'),   // 这里配置首页默认路由跳转的页面组件
      children: [   // 添加子路由
        {
          path: 'page',  // 注意点:路径前面不要带/,否则无法跳转,在这里吃过亏
          name: 'page',
          components: {   // 注意参数名带s
            table: () => import('@/components/first-page')  // 这里的table跟首页的router-view标签的name一致,才会在首页的路由视图进行跳转,看3.2
          }
        },
        {
          path: 'table',
          name: 'table',
          components: {
            table: () => import('@/components/first-table')
          }
        }
      ]
}


这样配置访问地址为:localhost:8080/#/index/page、localhost:8080/#/index/table

到这里配置完成,访问页面测试一下

 可以看到,两个菜单配置改变了主体的路由视图,控制视图展示的页面组件。配置完成

到此这篇关于vue 路由视图 router-view嵌套跳转详情的文章就介绍到这了,更多相关vue 路由视图 router-view嵌套跳转内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue 路由视图 router-view嵌套跳转的实现

本文链接: https://lsjlt.com/news/135548.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue 路由视图 router-view嵌套跳转的实现
    目录1、修改app.vue页面2、创建登录页面(/views/login/login.vue)2.1、在router/index.js中添加登录页面路由3、创建主页面(/compon...
    99+
    2024-04-02
  • vue router-view的嵌套显示实现
    目录一、路由配置二、vue页面嵌套三、嵌套联系一、路由配置 const routes = [ { path: '/', name: '导航1', co...
    99+
    2024-04-02
  • vue router-view的嵌套显示实现方法
    本篇内容介绍了“vue router-view的嵌套显示实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录一、路由配置二、vue页面...
    99+
    2023-06-20
  • vue-router嵌套路由方式(页面路径跳转但页面显示空白)
    目录如图所示从欢迎页跳转至用户列表查询相关资料,有两种解决方案如图所示从欢迎页跳转至用户列表 欢迎页:路径---welcome 用户页:路径---users  可以看到...
    99+
    2024-04-02
  • react-router-domV6嵌套路由实现详解
    目录V6新特性<Route>的属性变更component/render->element<Link/>使用变动<Redirect/> 替换为...
    99+
    2023-01-04
    react-router-domV6嵌套路由 react router domV6
  • vue如何使用router-link实现路由跳转
    这篇文章主要介绍vue如何使用router-link实现路由跳转,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!router-link 【实现跳转最简单的方法】<router-link to='...
    99+
    2023-06-18
  • vue嵌套路由怎么实现
    本文小编为大家详细介绍“vue嵌套路由怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue嵌套路由怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。用 Vue CLI 进行设置如果尚未安装,请运行以...
    99+
    2023-07-04
  • React中的路由嵌套和手动实现路由跳转的方式详解
    目录React的路由嵌套手动路由的跳转React的路由嵌套 接上一篇文章, 在上一篇文章中讲解了路由的基本介绍, 我再来介绍一下路由的其他用法 在开发中,路由之间是存在嵌套关系的。 ...
    99+
    2022-11-13
    react路由嵌套 react路由跳转 react手动路由跳转
  • vue.js Router中嵌套路由的实用示例
    目录前言用 Vue CLI 进行设置基本代码输入 Vue 路由配置嵌套路由总结前言 随着 Vue.js 单页应用(SPA)变得相当复杂,你开始需要 Vue 路由以及嵌套路由。嵌套路由...
    99+
    2024-04-02
  • Vue实现路由嵌套的方法实例
    1、嵌套路由又称子路由,在实际应用中,通常由多层嵌套的组件组合而成。(其实就是套娃操作罢了,跟后端的视图跳转路径蛮像的): 2、 创建用户信息组件,在 views/user 目录下...
    99+
    2024-04-02
  • react-router-dom路由跳转如何实现
    这篇“react-router-dom路由跳转如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“react-router...
    99+
    2023-07-04
  • react-router-dom路由跳转怎么实现
    本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。react-router-dom路由跳转怎么实现?React-Router-dom路由跳转useNavigateuseNavigate方法可以手动操作进行...
    99+
    2023-05-14
    React
  • angularjs中ui-router如何实现路由的二级嵌套
    这篇文章主要为大家展示了“angularjs中ui-router如何实现路由的二级嵌套”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“angularjs中ui-r...
    99+
    2024-04-02
  • vue-router是如何实现路由跳转和页面渲染的
    Vue-router是Vue.js官方的路由管理工具,支持基于Vue.js构建单页应用(SPA),它提供的路由功能让我们能够通过管理URL中的路径,来控制页面的跳转和展示。本文将着重探讨 Vue-router 的底层实现原理,分析 Vue-...
    99+
    2023-05-14
  • Vue如何实现路由跳转
    这篇文章将为大家详细讲解有关Vue如何实现路由跳转,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。单页一应用的路由模式有再种1、哈希模式(利用hashchange事件监听u...
    99+
    2024-04-02
  • Vue实现路由嵌套的方法是什么
    这期内容当中小编将会给大家带来有关Vue实现路由嵌套的方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。嵌套路由又称子路由,在实际应用中,通常由多层嵌套的组件组合而成。(其实就是套娃操作罢了,跟后端...
    99+
    2023-06-25
  • vue router路由嵌套不显示问题的解决方法
    这篇文章给大家分享的是有关vue router路由嵌套不显示问题的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue router路由嵌套不显示问题的解决方法,具体内容...
    99+
    2024-04-02
  • react嵌套路由实现TabBar的实现
     有两种页面,一种是有TabBar的页面,如下图; 一种是无TabBar的页面 有TabBar的页面使用嵌套路由来实现 嵌套路由:路由内部包含路由 使用步骤 1 在pag...
    99+
    2022-11-13
    react嵌套路由实现TabBar react TabBar
  • vue如何实现父级路由跳转子路由
    今天小编给大家分享一下vue如何实现父级路由跳转子路由的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。子路由配置首先,我们需要...
    99+
    2023-07-05
  • vue中如何实现路由跳转
    这篇文章主要介绍vue中如何实现路由跳转,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!跳转方式:1、用“<router-link :to="{..}">”语句;2、用“this.$ro...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作