VUE导航栏和router的综合应用(模块/路由嵌套实例)

news/2024/7/10 0:47:45 标签: vue, vue.js, 前端

需求:
在这里插入图片描述
1.头尾和左侧导航栏固定不变
2.点击左侧栏导航改变路由
3.主视区内容随路由变化而变化
实现
需求1与3:
创建三个组件分别为Header.vue/Footer.vue/Left.vue
在这里插入图片描述
创建模板文件Template.vue

<template>
    <div class="template">
        <cheader></cheader>//头
        <div>
            <div>
                <div></div>
                <cnavigation></cnavigation>//左侧导航栏
                <router-view></router-view>//主视区插槽
            </div>
        </div>
        <cfooter></cfooter>//足
    </div>
</template>

<script>
import cheader from '../components/common/Header';
import cfooter from '../components/common/Footer';
import cnavigation from '../components/common/Left';
export default {
    name: 'Template',
    components: {
        cheader,
        cfooter,
        cnavigation
    },
    data() {
        return {
        };
    },
    methods: {
    }
};
</script>

创建主视区模块们(此处以PersonalHP.vue为例)
router-index.js
↓ ↓ ↓ ↓ ↓

import Vue from 'vue';
import Router from 'vue-router';
Vue.use(Router);

export default new Router({
  routes: [
    { path: '*', redirect: '/personal' },//意料之外的路由时重定向
    {//路由嵌套
      path: '/personal',
      name: 'personal',
      component: Template,
      children: [//每个子路由对应了一个导航栏的选项,点击选项后跳转到相应路由,相应模块显示在插槽位置。
        {
          name: 'homepage',
          path: '/personal/',
          component: PersonalHP,
          meta: {
            // 页面标题title
            title: '1'
          }
        },
        {
          name: 'zjjl',
          path: '/personal/zjjl',
          component: PersonalHP,
          meta: {
            title: '2'
          }
        },
        {
          name: 'wdxj',
          path: '/personal/wdxj',
          component: PersonalHP,
          meta: {
            title: '3'
          }
        },
        {
          name: 'ysqgk',
          path: '/personal/ysqgk',
          component: PersonalHP,
          meta: {
            title: '4'
          }
        }
      ]
    }
  ]
});

需求2:
left.vue

 <ul class="list">
            <!-- <li class="wdzy clearfix"><span>我的主页</span></li> -->
            <li v-for="(item,index) in list" :key="index" class="clearfix" :class="[item.class,{'active':item.router===$route.name}]" @click="jump(item.router)">
                <span>{{ item.text }}</span>
            </li>
        </ul>
data() {
        return {
            list: [
                {
                    text: '1',
                    class: 'wdzy',
                    router: 'homepage'
                },
                {
                    text: '2',
                    class: 'zjjl',
                    router: 'zjjl'
                },
                {
                    text: '3',
                    class: 'wdxj',
                    router: 'wdxj'
                },
                {
                    text: '4',
                    class: 'ysqgk',
                    router: 'ysqgk'
                }
            ]
        };
    },

http://www.niftyadmin.cn/n/1355310.html

相关文章

python改变背景颜色_pycharm怎么修改背景颜色

pycharm就如vs&#xff0c;myeclipse&#xff0c;eclipse一样可以修改被背景颜色&#xff0c;如何保护眼睛就得自己设置了&#xff0c;下面小编分享一下怎么处理的呢工具/原料 pycharm python 方法/步骤 1 打开pycharm&#xff0c;等待加载完成&#xff0c;导入项目。2 点击左上…

axios+element配置请求等待动画、请求异常弹出消息;

_axios.interceptors.request.use(function(config) {// Do something before request is sentif (config.method post && Object.prototype.toString.call(config.data) ! [object FormData]) {config.data qs.stringify(config.data); // post请求格式化数据config…

java webservice报文过长_超全面的大型IT公司Java开发岗面试题集锦

一、Java基础1.String类为什么是final的。2.HashMap的源码&#xff0c;实现原理&#xff0c;底层结构。3.说说你知道的几个Java集合类&#xff1a;list、set、queue、map实现类咯。。。4.描述一下ArrayList和LinkedList各自实现和区别5.Java中的队列都有哪些&#xff0c;有什么…

VUE实现可拖拽轮播图实例(VueAwesomeSwiper使用实例)

VUE实现可拖拽轮播图实例&#xff08;VueAwesomeSwiper使用实例&#xff09; 安装&#xff1a; npm install swiper vue-awesome-swiper --save main.js中引入&#xff1a; import VueAwesomeSwiper from vue-awesome-swiper; Vue.use(VueAwesomeSwiper, /* { default global…

.metadata是什么项目文件_SVN项目迁移到GIT并保留commit记录

迁移一个SVN项目&#xff08;大小约为2G&#xff09;到Gitee上&#xff0c;本文记录操作过程1. 编辑userinfo.txt格式为svn_usernamegit_username&#xff0c;提交记录里出现的所有svn_user都要有对应git_usersvn_user1svn_user1<svn_user1xxx.com> svn_user2svn_user2&l…

input placeholder默认内容样式修改

<input placeholder"请输入关键词搜索"> <style>input::-webkit-input-placeholder{color:#fff;background:red;}input::-moz-placeholder{color:#fff;background:red;}input:-moz-placeholder{color:#fff;background:red;}input:-ms-input-placeholder{…

孤立森林算法_异常检测系列之吸收用户反馈的孤立森林算法

目录什么是Isolation Tree和Isolation Forest吸收用户反馈的异常检测框架1. 什么是Isolation Tree和Isolation Forest传统的异常检测通常依赖于统计检验(T-test, F-test)来发现异常点&#xff0c;Isolation Tree巧妙的利用决策树分裂来寻找离群样本&#xff0c;由于异常点和大多…

jquery 判断是否有类名_[WEB篇]-JQuery-06-Jquery实现异步调用

JQueryJquery实现异步调用 通过 HTTP 请求加载远程数据JQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数&#xff0c;除非你需要操作不常用的选项&#xff0c;以获得更多的灵活性…