vue实验报告5 Tab栏的切换案例(使用路由)

一、实验要求:

请使用Vue路由相关知识手动实现Tab栏切换案例,要求如下:

a.创建一个components/Message.vue组件,用来展示页面内容。

b.创建3个子路由,分别是“待付款”“待发货”“待收货”页面,在每个子路由页面单独写出相应的内容。

三个选项在初始界面的风格是三者平分于一行,且每个都有个红色边框

点击后由黑字白底变成白字蓝底。

c.使用一个HTML文件或者vue项目实现该案例

二、怎么创建一个vue项目 

首先点开cmd,输入vue ui

然后会在浏览器自动打开一个网页(绿色的)

然后点击创建新项目

然后点击在哪里创建(不用新建文件夹,直接把你想要放的地方地址输入上去就行,支持中文地址)

然后在第一个页面的中间下拉箭头选npm,没下的找教程下npm

然后第二个界面,选手动,一定要选手动,不然所有东西都自动下最新版,旧版本语言在里面运行不了

接下来的用哪个勾选哪个,比如这一节就用的router,就勾上,后面自动会选版本号。

然后就是最重要的一步,属于是旧版本的自作多情,因为没选vue3,因为教材太老,所以我们学的是2.x所以只能选2.x,不然很多语法压根就不一样,羡慕后面学vue3的同学。

然后这个就选不保存预设就行

然后就是漫长的等待,毕竟不是咱们国家创的东西,要下载很长时间,好几分钟。

三、实验代码及成果(成果就是展示图在上面要求里面有,点击会变色,就是颜色可能不太对,你们看着改)

 

components/Message.vue文件

<!-- components/Message.vue -->

<template>

  <div>

    <router-view></router-view>

  </div>

</template>

<script>

export default {

  name: 'Message'

  // 你可以在这里添加组件的具体内容

}

</script>

router/index.js

import Vue from 'vue'

import Router from 'vue-router'

import Message from '@/components/Message.vue'

Vue.use(Router)

export default new Router({

  routes: [

    {

      path: '/message',

      name: 'Message',

      component: Message,

      children: [

        {

          path: 'pending-payment',

          name: 'PendingPayment',

          component: {

            template: '<div>待付款页面内容</div>'

          }

        },

        {

          path: 'pending-shipping',

          name: 'PendingShipping',

          component: {

            template: '<div>待发货页面内容</div>'

          }

        },

        {

          path: 'pending-receipt',

          name: 'PendingReceipt',

          component: {

            template: '<div>待收货页面内容</div>'

          }

        }

      ]

    }

  ]

})

App.vue:

<template>

  <div id="app">

    <div class="tabContainer">

      <router-link to="/message/pending-payment" class="tab" active-class="activeTab">待付款</router-link>

      <router-link to="/message/pending-shipping" class="tab" active-class="activeTab">待发货</router-link>

      <router-link to="/message/pending-receipt" class="tab" active-class="activeTab">待收货</router-link>

    </div>

    

    <router-view></router-view>

  </div>

</template>

<style>

/* ... other styles ... */

.tabContainer {

  display: flex;

}

.tab {

  flex: 1;

  border: 1px solid red;

  padding: 8px;

  cursor: pointer;

  text-decoration: none;

  color: black;

  background-color: white;

  text-align: center;

}

.activeTab {

  color: white;

  background-color: blue;

}

</style>

main.js文件不用动。

四、实验结论

1.export default 是 JavaScript 中用于导出模块、函数、类或对象的语法。它的作用是将一个模块的默认输出指定为某个值,使得其他文件可以使用 import 关键字来导入这个默认输出。

2.router给我的感觉就像是跳转,而<router-link>标签给我的感觉就像是ppt里面的。

3.一定要注意版本,可以直接在vue ui里面选择手动设置,只能用vue2,下个学期的新生会学vue3,但我们不会。

  • 30
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Vue路由来实现tab切换,具体步骤如下: 1. 在Vue组件中引入Vue Router,例如: ``` import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) ``` 2. 定义路由,这里以两个tab页为例: ``` const router = new Router({ routes: [ { path: '/', name: 'Tab1', component: Tab1 }, { path: '/tab2', name: 'Tab2', component: Tab2 } ] }) ``` 3. 在模板中使用路由切换: ``` <template> <div> <ul> <li @click="switchTab('/')">Tab1</li> <li @click="switchTab('/tab2')">Tab2</li> </ul> <!-- 根据路由切换显示的组件 --> <router-view></router-view> </div> </template> <script> export default { methods: { switchTab(path) { this.$router.push({ path }) } } } </script> ``` 这样,在点击tab时就会触发路由切换,显示对应的组件。 ### 回答2: Vue是一种流行的JavaScript框架,它可以帮助我们快速构建响应式的Web应用程序。Vue路由Vue.js框架的一部分,它允许我们通过切换URL来渲染不同的组件。在这篇文章中,我们将使用Vue路由实现一个tab切换案例。 首先,我们需要创建一个Vue应用程序,包括Vue.jsVue路由。我们可以使用Vue CLI来初始化项目。然后安装Vue路由:`npm install vue-router --save`。在Vue组件中使用vue-router非常简单,我们只需要在Vue组件中导入vue-router,创建路由对象,以及定义每个路由的配置。让我们看一个示例: ``` <template> <div> <nav> <ul> <li><router-link to="/home">Home</router-link></li> <li><router-link to="/about">About</router-link></li> <li><router-link to="/contact">Contact</router-link></li> </ul> </nav> <router-view></router-view> </div> </template> <script> import Vue from 'vue' import VueRouter from 'vue-router' import Home from './Home.vue' import About from './About.vue' import Contact from './Contact.vue' Vue.use(VueRouter) const routes = [ { path: '/home', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact } ] const router = new VueRouter({ routes }) export default { router } </script> ``` 在这个例子中,我们创建了一个Vue组件,包括一个nav标签和一个router-view标签。我们使用`<router-link>`标签创建3个不同的路由,分别是“/home”,“/about”,“/contact”。`<router-view>`标签充当路由的出口点。我们还导入了3个不同的组件,分别对应每个路由。在Vue导出对象时,我们将路由对象添加到实例中。 tab的实现方式应该比上面的示例更简单。我们可以使用Boostrap或Material Design Lite等CSS框架来创建tab,然后将每个选项卡链接到不同的路由。在Vue组件中,我们可以使用CSS框架提供的样式和属性来实现选项卡。以下是一个例子: ``` <template> <div> <ul class="nav nav-tabs"> <li class="nav-item"> <router-link to="/home" class="nav-link">Home</router-link> </li> <li class="nav-item"> <router-link to="/about" class="nav-link">About</router-link> </li> <li class="nav-item"> <router-link to="/contact" class="nav-link">Contact</router-link> </li> </ul> <router-view></router-view> </div> </template> <script> import Vue from 'vue' import VueRouter from 'vue-router' import Home from './Home.vue' import About from './About.vue' import Contact from './Contact.vue' Vue.use(VueRouter) const routes = [ { path: '/home', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact } ] const router = new VueRouter({ routes }) export default { router } </script> ``` 在这个例子中,我们使用Boostrap的CSS样式创建了tab。我们将vue-router链接添加到每个选项卡中,每个链接都有不同的路由路径。当用户单击选项卡中的链接时,Vue路由将选择正确的组件来渲染在`<router-view>`标签中。 总结一下,在Vue路由例子中实现tab切换并不复杂。我们只需要在Vue组件中导入vue-router,创建路由对象,定义每个路由配置,以及使用CSS框架来创建tab,就可以实现一个多页签的切换功能。 ### 回答3: Vue路由Vue.js官方提供的一个路由管理器,它可以实现前端路由的跳转,使我们可以更好地管理前端路由。在实现tab切换案例中,我们可以使用Vue路由来控制各个选项之间的切换跳转。下面我将介绍一下如何使用Vue路由实现tab切换案例。 首先,我们需要安装Vue-router插件,使用命令:npm install vue-router --save。 其次,我们需要在Vue的main.js中引入路由,实例化VueRouter并挂载到Vue上。代码如下: ``` import Vue from 'vue' import VueRouter from 'vue-router' import App from './App.vue' import Home from './components/Home.vue' import About from './components/About.vue' Vue.use(VueRouter) const routes = [ { path: '/', component: Home }, { path: '/about', component: About } ] const router = new VueRouter({ routes }) new Vue({ el: '#app', router, render: h => h(App) }) ``` 这段代码中,我们定义了两个路由,一个是’/’,代表首页;另一个是’/about’,代表关于我们页面。然后实例化了VueRouter,把我们定义的路由传进去,在Vue实例中把VueRouter挂载上。 接着,在模板中,我们可以使用router-link组件来实现tab的按钮。router-link是Vue-router提供的组件,可以用来渲染带有路由功能的链接。代码如下: ``` <template> <div id="app"> <ul> <router-link to="/">首页</router-link> <router-link to="/about">关于我们</router-link> </ul> <router-view></router-view> </div> </template> ``` 在这段代码中,我们在一个UL标签中使用了两个router-link标签,分别代表首页和关于我们。to属性指定了路由路径,可以通过点击这个router-link标签进行跳转。 最后,我们需要在组件中定义这两个路由对应的页面内容。我们创建了两个名为Home和About的组件,代码如下: ``` <template> <div> <p>{{ message }}</p> </div> </template> <script> export default { data() { return { message: '这是首页' } } } </script> ``` 和About.vue组件 ``` <template> <div> <p>{{ message }}</p> </div> </template> <script> export default { data() { return { message: '这是关于我们' } } } </script> ``` 这两个组件用来渲染页面内容。当我们点击router-link标签时,页面会自动跳转到对应的路由下,并渲染出相应的组件内容。 到此,我们就成功地实现了tab切换案例使用Vue路由来实现轻松简单。通过Vue-router,我们可以很轻松地实现前端路由功能,使我们的前端开发变得更加灵活和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值