返回顶部
首页 > 资讯 > 前端开发 > VUE >vue router如何模仿天猫底部导航栏功能
  • 740
分享到

vue router如何模仿天猫底部导航栏功能

2024-04-02 19:04:59 740人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关Vue router如何模仿天猫底部导航栏功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先把天猫的导航贴出来,里面包括精选、品牌、会员、

这篇文章将为大家详细讲解有关Vue router如何模仿天猫底部导航栏功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

首先把天猫的导航贴出来,里面包括精选、品牌、会员、购物车、我五个导航及对应的图标。

vue router如何模仿天猫底部导航栏功能

分析:

1、图标的获取

进入阿里巴巴矢量图标库,网址  Http://www.iconfont.cn。

点击官方图标库,选择天猫图标库,选中放入购物车。

vue router如何模仿天猫底部导航栏功能

点击添加至项目,点击创建新项目按钮,创建tianmao项目,点击确定。

vue router如何模仿天猫底部导航栏功能vue router如何模仿天猫底部导航栏功能

此时会有查看在线链接和下载至本地两种方式,我选择第一种,因为后期如果要添加小图标的话,只需要重新生成在线链接,然后更新link即可

vue router如何模仿天猫底部导航栏功能

vue router如何模仿天猫底部导航栏功能

复制链接到index.html的link标签内,具体为

<link rel="stylesheet" href="http://at.alicdn.com/t/font_443540_nvmeyfe7k3rcc8fr.CSS" rel="external nofollow" >

引入图标,使用<i class="icon iconfont icon-wo"></i>区别在第三个class来引入对应图标

此时所需图标处理完毕

2、创建精选、品牌、会员、购物车、我及路由导航组件Home.vue、Brand.vue、Member.vue、Cart.vue、Me.vue、Tabs.vue

使用的样式时less,如果在.vue文件中写样式,style必须写成<style lang="less" type="text/less"></style>,否则会报错

Tabs.vue

<template> 
 <div class="tabs"> 
  <!--命名路由--> 
  <ul> 
   <!--this inspection reports XML/HTML tags with missing mandatory attrbutes ,you can specify attrbute name that should not be reported--> 
   <!--home被点击后,一直处于激活状态,因此需要使用精确匹配模式,在router-link中添加exact属性--> 
   <router-link :to="{name:'Home'}" tag="li" exact> 
    <div> 
     <i class="icon iconfont icon-31shouye"></i> 
    </div> 
    <div>精选</div> 
   </router-link> 
   <router-link :to="{name:'Brand'}" tag="li"> 
    <div> 
     <i class="icon iconfont icon-zhubaoshipin"></i> 
    </div> 
    <div>品牌</div> 
   </router-link> 
   <router-link :to="{name:'Member'}" tag="li"> 
    <div> 
     <i class="icon iconfont icon-huiyuanqia"></i> 
    </div> 
    <div>会员</div> 
   </router-link> 
   <router-link :to="{name:'Cart'}" tag="li"> 
    <div> 
     <i class="icon iconfont icon-Gouwucheman"></i> 
    </div> 
    <div>购物车</div> 
   </router-link> 
   <router-link :to="{name:'Me',params:{user:'xu'}}" tag="li"> 
    <div> 
     <i class="icon iconfont icon-wo"></i> 
    </div> 
    <div>我</div> 
   </router-link> 
  </ul> 
 </div> 
</template> 
<script type="text/ecmascript-6"> 
 export default {} 
</script> 
<style lang="less" type="text/less"> 
 .tabs { 
  position: fixed; 
  bottom: 0; 
  left: 0; 
  background-color: #fff; 
  box-shadow: 0 2px 4px #000; 
  width: 100%; 
  & > ul, & > ul > li { 
   margin: 0; 
   padding: 0; 
  } 
  ul { 
   display: table; 
   width: 100%; 
   & > li { 
    text-align: center; 
    font-size: 16px; 
    display: table-cell; 
    padding: 8px 12px; 
    cursor: pointer; 
    &.router-link-active{ 
     color: #D0021B; 
    } 
    & > div { 
     font-size: 14px; 
     & > i { 
      font-size: 30px; 
     } 
    } 
   } 
  } 
 } 
</style>

我使用的是命名路由,这样我们就可以当路由组件变化时,直接修改router/index.js文件即可。

3、创建路由

router/index.js

import Vue from 'vue' 
import Router from 'vue-router' 
import Home from '@/Home' 
import Brand from '@/Brand' 
import Member from '@/Member' 
import Cart from '@/Cart' 
import Me from '@/Me' 
Vue.use(Router) 
export default new Router({ 
 //mode: 'history', 
 //base: __dirname, 
 //linkActiveClass: 'active', // 更改激活状态的Class值 
 routes: [ 
  { 
   path: '/', 
   name: 'Home', 
   component: Home 
  }, 
  { 
   path: '/brand', 
   name: 'Brand', 
   component: Brand 
  }, 
  { 
   path: '/member', 
   name: 'Member', 
   component: Member 
  }, 
  { 
   path: '/cart', 
   name: 'Cart', 
   component: Cart 
  }, 
  { 
   path: '/me', 
   name: 'Me', 
   component: Me 
  } 
 ] 
})

4、App.vue引入组件Tabs.vue,并添加<router-view>渲染路径匹配到的视图组件

<template> 
 <div id="app"> 
  <Tabs></Tabs> 
  <div class="content"> 
   <router-view></router-view> 
  </div> 
 </div> 
</template> 
<script> 
 import Tabs from "./Tabs.vue" 
 export default { 
  name: 'app', 
  data(){ 
   return {} 
  }, 
  components: {Tabs} 
 } 
</script> 
<style> 
 *{ 
  padding:0; 
  margin:0; 
 } 
 #app { 
  font-family: 'Avenir', Helvetica, Arial, sans-serif; 
  -WEBkit-font-smoothing: antialiased; 
  -moz-osx-font-smoothing: grayscale; 
 } 
</style>

5、导航状态样式

<router-link>对应的路由匹配成功后,就会自动设置class属性值为router-link-exact-active router-link-active

router-link-exact-active:配置当链接被精确匹配的时候应该激活的CSS类名。

router-link-active:设置链接激活时使用的 CSS 类名。

如果要修改CSS样式命名,可通过<router-link>属性exact-active-class和active-class分别设置,也可通过路由构造函数选项linkExactActiveClass和linkActiveClass来设置

vue router如何模仿天猫底部导航栏功能

点击品牌时展示如下:Home的Tab仍然设置了routet-link-activeCSS类名,如果设置routet-link-active样式颜色为红色,精选就会一直保持红色

此时需要使用”精确匹配模式“,<router-link :to="{name:'Home'}" tag="li" exact> 则使用exact,此时的Home的Tab就不会被设置routet-link-activeCSS类名了

访问 http://localhost:8080/#/brand 就不会匹配到http://localhost:8080/#/

vue router如何模仿天猫底部导航栏功能

关于“vue router如何模仿天猫底部导航栏功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: vue router如何模仿天猫底部导航栏功能

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

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

猜你喜欢
  • vue router如何模仿天猫底部导航栏功能
    这篇文章将为大家详细讲解有关vue router如何模仿天猫底部导航栏功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。首先把天猫的导航贴出来,里面包括精选、品牌、会员、...
    99+
    2024-04-02
  • Android实现底部导航栏功能(选项卡)
    现在很多android的应用都采用底部导航栏的功能,这样可以使得用户在使用过程中随意切换不同的页面,现在我采用TabHost组件来自定义一个底部的导航栏的功能。 我们先看下该d...
    99+
    2022-06-06
    选项卡 Android
  • CSS如何固定底部导航栏
    在css中将导航栏固定在页面底部的方法:1.创建导航栏;2.设置导航栏样式;3.使用position属性固定导航栏;在css中将导航栏固定在页面底部的方法首先,在页面中创建一个导航栏;<!DOCTYPE html>&l...
    99+
    2024-04-02
  • android如何隐藏底部导航栏
    要隐藏Android底部导航栏,可以使用以下方法之一:1. 使用全屏模式:在Activity的onCreate()方法中添加以下代码...
    99+
    2023-08-08
    android
  • 移动端底部导航固定配合vue-router如何实现组件切换功能
    这篇文章主要介绍移动端底部导航固定配合vue-router如何实现组件切换功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在我们平时练习或者实际项目中也好,我们常常遇到这么一个需求...
    99+
    2024-04-02
  • Android中如何使用RadioGroup和Fragment实现底部导航栏的功能
    小编给大家分享一下Android中如何使用RadioGroup和Fragment实现底部导航栏的功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在一些购物商城中...
    99+
    2023-06-15
  • Flutter如何实现底部导航栏创建
    Flutter如何实现底部导航栏创建,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。ConvexBottomBar是一个底部导航栏组件,用于展现凸起的TAB效果,...
    99+
    2023-06-26
  • weex slider如何实现滑动底部导航功能
    这篇文章将为大家详细讲解有关weex slider如何实现滑动底部导航功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。先看效果图这里主要是使用了weex 的 slide...
    99+
    2024-04-02
  • Vue自定义部分页面显示导航栏功能
    目录遇到的问题:解决方法:遇到的问题: 最近在用Vue+elementUI开发一个网站的前端,网站的逻辑是没有账号的用户先注册,有账号的用户直接登录,登录后才能进入网站的主页。在设计...
    99+
    2024-04-02
  • Android 中使用RadioGroup和Fragment实现底部导航栏的功能
    在一些购物商城中经常会遇到这类效果,效果图如下: 先看效果图 步骤一: 完成对主界面main.xml的创建: <?xml version="1.0" enco...
    99+
    2024-04-02
  • 微信小程序如何设置底部导航栏目
    这篇文章给大家分享的是有关微信小程序如何设置底部导航栏目的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序设置底部导航栏目方法我们先来看个效果图这里,我们添加了三个导航图标...
    99+
    2024-04-02
  • vue如何将导航栏、顶部栏设置为公共页面
    目录vue设置导航栏 顶部栏为公共页面vue实现顶部导航栏设计效果图总结vue设置导航栏 顶部栏为公共页面 首先全局引入需要的两个组件 import LeftSide from '@...
    99+
    2023-01-13
    vue导航栏 vue顶部栏 vue设置公共页面
  • 如何实现iview tabs顶部导航栏和模块切换栏
    这篇文章将为大家详细讲解有关如何实现iview tabs顶部导航栏和模块切换栏,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1.顶部导航栏:html: <...
    99+
    2024-04-02
  • JavaGUI如何模仿实现QQ聊天功能
    小编给大家分享一下JavaGUI如何模仿实现QQ聊天功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下ClientForm代码:package GUISocket.chat.Client;import...
    99+
    2023-06-20
  • 优化底部导航栏设计以改善移动应用的固定定位功能
    固定定位优化移动应用的底部导航栏设计,需要具体代码示例 随着智能手机的普及和移动应用的快速发展,人们越来越多地使用手机进行各种活动,如社交、购物、学习和娱乐等。为了方便用户进行操作和导航,移动应用通常都会设计底部导航栏。然而,底...
    99+
    2024-01-20
    优化 固定定位 底部导航栏
  • vue路由如何实现网站导航功能
    这篇文章给大家分享的是有关vue路由如何实现网站导航功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、首先需要按照Vue router支持npm install vue-ro...
    99+
    2024-04-02
  • js如何实现点击导航栏切换页面功能
    可以使用 JavaScript 来实现点击导航栏切换页面的功能。下面是一个简单的示例:首先,在 HTML 中创建导航栏和对应的页面内...
    99+
    2023-08-08
    js
  • vue如何实现底部加载更多功能
    本篇内容主要讲解“vue如何实现底部加载更多功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue如何实现底部加载更多功能”吧!实现代码如下:<template> <...
    99+
    2023-07-04
  • Android如何使用Scroller实现一个可向上滑动的底部导航栏
    这篇文章主要介绍了Android如何使用Scroller实现一个可向上滑动的底部导航栏,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。看下效果:首先这个控件是滑动的肯定就会用到...
    99+
    2023-05-31
    android
  • 如何修改layui中后台模板的左侧导航栏可以伸缩功能
    这篇文章给大家分享的是有关如何修改layui中后台模板的左侧导航栏可以伸缩功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。原生的左侧导航栏代码:<div cla...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作