Web前端开发技术:Vue路由

一、实验目的:

掌握Vue路由相关知识及应用。

二、实验要求:

了解Vue路由相关知识和相关插件、loader的安装与使用
编写程序完成以下实验内容并上交实验报告

三、实验内容:

(一)实验基础

1、.vue文件

.vue文件又叫"单文件组件",是一种可以把样式、逻辑、模板写在一个文件里,独立发布、便于管理的格式。这种格式需要通过webpack进行处理。

.vue文件包含的三种类型的顶级语言块 <template>, <script> 和 <style>。这三个部分分别代表了 html、js、css。其中 <template> 和 <style> 是支持用预编译语言来写的,假若在项目中用了scss 预编译,则

.vue文件可能理解成是包含Html、JavaScript、CSS的网页文件,只不过原生网页文件是解释执行,而.vue文件需编译执行。

2、本次实验主要通模仿教材“5.3.3 代码实现”一节中的实现步骤,初步掌握Vue路由相关知识及应用方法。

(二)实验题

请使用Vue路由相关知识手动实现Tab栏切换案例,要求如下。
①创建一个components/Message.vue组件,用来展示页面内容。
②创建3个子路由,分别是“待付款”、“待发货”、“待收货”页面,在每个子路由页面单独写出相应的内容,页面效果如图所示。
在这里插入图片描述

四、设计思路:

创建一个Vue工程,添加vue-router。
创建一个Message.vue,作为主页面,同时用作跳转。
创建view文件夹,放“待付款”、“待发货”、“待收货”页面。
编写router/index.js路由文件。

五、实验过程中遇到的问题及解决手段:

vue-router安装出现问题,解决:使用vue-cli脚手架创建工程项目。

六、程序源代码:

Message.vue:

<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">待付款</router-link> |
      <router-link to="/about">待发货</router-link> |
      <router-link to="/receive">待收货</router-link>
    </div>
    <router-view/>
  </div>
</template>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

#nav {
  padding: 30px;
}

#nav a {
  font-weight: bold;
  color: #2c3e50;
}

#nav a.router-link-exact-active {
  color: #42b983;
}
</style>

src\message\views\obligation.vue:

<template>
  <div class="home">
    <h1> 待付款商品 </h1>
  </div>
</template>

<script>
// @ is an alias to /src
export default {
  name: 'home',
  components: {
  },
}
</script>

src\message\views\receive.vue:

<template>
    <h1> 待收货商品 </h1>
</template>

<script>
    export default {
        name: "receive"
    }
</script>

<style scoped>

</style>

src\message\views\ToBeDelivered.vue:

<template>
  <div class="delivered">
    <h1> 待发货商品 </h1>
  </div>
</template>

src\message\router\index.js:

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/obligation.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'home',
    component: Home
  },
  {
    path: '/about',
    name: 'about',
    component: () => import('../views/ToBeDelivered.vue')
  },
  {
    path: '/receive',
    name: 'receive',
    component: () => import('../views/receive.vue')
  }
]

const router = new VueRouter({
  routes
})

export default router

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件目录:
在这里插入图片描述

  • 8
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

nickdlk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值