vue2.0 + element-ui 实战项目-导航栏跳转路由(二)

简介: vue2.0 + element-ui 实战项目-导航栏跳转路由(二)

1:components

新建页面

2:打开app.vue

写代码

<template>
  <div>
    <el-col :span="2">
      <el-menu
        :default-active="this.$route.path"
        router
        mode="horizontal"
        class="el-menu-vertical-demo"
        @open="handleOpen"
        @close="handleClose"
        background-color="#545c64"
        text-color="#fff"
        active-text-color="#ffd04b"
      >
        <el-menu-item v-for="(item, i) in navList" :key="i" :index="item.name">
          <template slot="title">
            <i class="el-icon-s-platform"></i>
            <span> {{ item.navItem }}</span>
          </template>
        </el-menu-item>
      </el-menu>
    </el-col>
    <router-view class="menu-right" />
  </div>
</template>
<script>
export default {
  data() {
    return {
      navList: [
        { name: "/views/chip", navItem: "地图碎片" },
        { name: "/views/device", navItem: "地图设备" },
        { name: "/views/params", navItem: "地图参数" },
        { name: "/views/picture", navItem: "地图图片" },
      ],
    };
  },
  methods: {
    handleOpen(key, keyPath) {
      console.log(key, keyPath);
    },
    handleClose(key, keyPath) {
      console.log(key, keyPath);
    },
  },
};
</script>
<style>
.menu-right {
  margin-left: 200px;
}
</style>

3:路由index.js

import Vue from 'vue'
import Router from 'vue-router'
import Chip from '@/views/chip'
import HelloWorld from '@/components/HelloWorld'
import Device from '@/views/device'
import Params from '@/views/params'
import Picture from '@/views/picture'
Vue.use(Router)
export default new Router({
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    },
     {
      path: '/views/chip',
      name: 'chip',
      component: Chip
    }, {
      path: '/views/device',
      name: 'device',
      component: Device
    },
     {
      path: '/views/params',
      name: 'params',
      component: Params
    },{
      path: '/views/picture',
      name: 'picture',
      component: Picture
    }
  ]
})

4:新页面的内容,我写的比较简单,需要自己写下功能需求所在的代码

picture.vue

<template>  
    <div>
    我是picture页面
    </div>  
</template>
<script>
</script>
<style>
</style>

5:效果就可以看了

相关文章
|
16天前
|
JavaScript 前端开发 开发者
Vue.js 框架大揭秘:响应式系统、组件化与路由管理,震撼你的前端世界!
【8月更文挑战第27天】Vue.js是一款备受欢迎的前端JavaScript框架,以简洁、灵活和高效著称。本文将从三个方面深入探讨Vue.js:响应式系统、组件化及路由管理。响应式系统为Vue.js的核心特性,能自动追踪数据变动并更新视图。例如,通过简单示例代码展示其响应式特性:`{{ message }}`,当`message`值改变,页面随之自动更新。此外,Vue.js支持组件化设计,允许将复杂界面拆分为独立且可复用的组件,提高代码可维护性和扩展性。如创建一个包含标题与内容的简单组件,并在其他页面中重复利用。
35 3
|
14天前
|
JavaScript API
vue 批量自动引入并注册组件或路由
vue 批量自动引入并注册组件或路由
|
21天前
|
JavaScript
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
vue element-ui 中el-message重复弹出问题解决 el-message重复弹出解决办法
100 49
|
17天前
|
缓存 JavaScript
vue的多路由项目开发,您还在手动拼接路由名?
【8月更文挑战第20天】vue的多路由项目开发,您还在手动拼接路由名?
42 1
vue的多路由项目开发,您还在手动拼接路由名?
|
24天前
|
JavaScript
Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
这篇文章详细介绍了Vue路由中的query参数、命名路由、params参数以及props配置的使用方式,并通过实际项目案例展示了它们在开发中的应用和测试结果,同时解释了`<router-link>`的`replace`属性如何影响浏览器历史记录。
Vue学习之--------路由的query、params参数、路由命名(3)(2022/9/5)
|
24天前
|
缓存 JavaScript 数据安全/隐私保护
Vue学习之--------路由守卫(2022/9/6)
这篇文章详细介绍了Vue路由守卫的概念和应用,包括全局守卫、独享守卫和组件内守卫的实现方法,并通过实际代码示例和测试效果展示了如何对路由进行权限控制,以及Vue路由器的两种工作模式:hash模式和history模式。
Vue学习之--------路由守卫(2022/9/6)
|
24天前
|
存储 JavaScript 前端开发
Vue学习之--------路由(Router)的基本使用(1)(2022/9/5)
这篇文章是关于Vue-router路由的基本使用教程,涵盖了安装配置、应用插件、编写路由规则、实现页面跳转和高亮显示,以及一些使用中的注意点和项目实际应用案例。
Vue学习之--------路由(Router)的基本使用(1)(2022/9/5)
|
24天前
|
缓存 JavaScript
Vue学习之--------多级路由的使用(2)(2022/9/5)
这篇文章介绍了在Vue中实现多级路由缓存的方法,包括在路由配置中添加meta属性以启用缓存,使用keep-alive组件包裹需要缓存的视图,以及在Vuex中管理缓存视图列表的逻辑。
Vue学习之--------多级路由的使用(2)(2022/9/5)
|
13天前
|
JavaScript 前端开发 安全
[译] 在 Vue 组件中分离 UI 和业务逻辑。
[译] 在 Vue 组件中分离 UI 和业务逻辑。
|
21天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
vue 批量自动引入并注册组件或路由等等