学会看cube-UI文档,并掌握cube-tab-bar开发

前端需求分析

  • 底部导航
  • 首页Banner
  • 首页视频列表
  • 视频详情模块
  • 注册模块
  • 登陆模块
  • 个人信息模块
  • 下单模块
  • 订单列表模块

文档地址:https://didi.github.io/cube-ui/#/zh-CN/docs/quick-start

template开发

  在components下创建CommonFooter.vue

<template>
<div class="tab">
<cube-tab-bar v-model="selectedLabelSlots" @click="changHandler">
<cube-tab
v-for="(item) in tabs"
:icon="item.icon"
:label="item.label"
:key="item.path"
:value="item.path"
></cube-tab>
</cube-tab-bar>
</div>
</template>
<script>
export default {
data() {
return {
selectedLabelSlots: "/",
tabs: [
{
label: "首页",
icon: "cubeic-home",
path: "/"
},
{
label: "我的订单",
icon: "cubeic-like",
path: "/order"
},
{
label: "个人中心",
icon: "cubeic-person",
path: "/personal"
}
]
};
}
};
</script>

vue-router常见API

  • router.path:获取当前的路由
  • router.go(n):这个方法的参数是一个整数,表示在history记录中向前或者后退多少步,类似window.history.go(n)方法
  • router.push(path):导航到不同的path路径,这个方法会向history栈添加一个新的记录,所以当前用户点击浏览器后退按钮时,则回到之前的URL

完整CommonFooter.vue

<template>
<div class="tab">
<cube-tab-bar v-model="selectedLabelSlots" @click="changHandler">
<cube-tab
v-for="(item) in tabs"
:icon="item.icon"
:label="item.label"
:key="item.path"
:value="item.path"
></cube-tab>
</cube-tab-bar>
</div>
</template>
<script>
export default {
data() {
return {
selectedLabelSlots: "/",
tabs: [
{
label: "首页",
icon: "cubeic-home",
path: "/"
},
{
label: "我的订单",
icon: "cubeic-like",
path: "/order"
},
{
label: "个人中心",
icon: "cubeic-person",
path: "/personal"
}
]
};
},
methods: {
changHandler(path) {
//this.this.$route.path:当前路径
if (path !== this.this.$route.path) {
this.$routerouter.push(path);
}
}
},
created() {
//默认路由选择器,比如刷新页面,需要重新进到当前路由
this.selectedLabelSlots = this.this.$route.path;
}
};
</script>
<!--SCSS是⼀种CSS预处理语⾔, scoped 是指这个scss样式 只作⽤于当前组件-->
<style lang="scss" scoped>
.tab {
position: fixed;
bottom: 0;
z-index: 999;
background-color: #fff;
width: 100%;
border-top: 1px solid rgba($color: #000000, $alpha: 0.1);
}
.cube-tab_active {
color: #3bb149;
}
</style>

yb课堂 前端项目通用底部选项卡 CommonsFooter 《三十六》的更多相关文章

  1. 前端项目通用、常用js common.js

    var url = location.href; if (url.toLowerCase().indexOf("/akweb_admin/") == -1) { function ...

  2. 潭州课堂25班:Ph201805201 django 项目 第三十六课 后台文章管理(课堂笔记)

    get 请求, 1,获取文章标签 , 2,拿到前台传来的值, 3,根据前台传来的值在数据库中查询 4.,返回数据到前台,渲染, 分页算法 : 在 utils 下创建  paginator_script ...

  3. AngularJS进阶(三十六)AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记)

    AngularJS项目开发技巧之利用Service&Promise&Resolve解决图片预加载问题(后记) 前言 在"AngularJS项目开发技巧之图片预加载" ...

  4. 前端学习(三十六)promise(笔记)

    一个页面:  头部.用户信息.新闻列表 jquery ajax:  1.$.ajax({    url:'',    dataType:'json', }).then(res=>{    //r ...

  5. Android项目实战(三十六):给背景加上阴影效果

    圆角背景大家应该经常用: 一个drawable资源文件  里面控制corner圆角 和solid填充色 <shape xmlns:android="http://schemas.and ...

  6. Web项目Shiro总结及源码(十六)

    shiro过虑器 过滤器简称 对应的java类 anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shir ...

  7. 我在一个前端项目中用js整理的一些通用方法,其中使用到的思想,主要就是约定了。

    把名称和后台来的json数据约定起来,可以达到的效果就是可以将东西统一化,减少差异,提升模块等的通用性,此后就可以实现具体不同模块内容可以自动或拷贝赋值的方式 2016.7.18 refactor s ...

  8. HTML5 开发APP(头部和底部选项卡)

    我们开发app有一定固定的样式,比如头部和底部选项卡部分就是公共部分就比如我在做的app进来的主页面就像图片显示的那样 我们该怎么实现呢,实现我们应该建一个主页面index.html,然后建五个子页面 ...

  9. TabBottomFragmentLayout【自定义底部选项卡区域(搭配Fragment)】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 自定义底部选项卡布局LinearLayout类,然后配合Fragment,实现切换Fragment功能. 缺点: 1.底部选项卡区域 ...

  10. FragmentTabHostBottomDemo【FragmentTabHost + Fragment实现底部选项卡】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用FragmentTabHost实现底部选项卡效果. 备注:该Demo主要是演示FragmentTabHost的一些设置和部分功能 ...

随机推荐

  1. leaflet 基本案例-图层控件:基础图层+业务图层

    可执行示例一个,如下: <!DOCTYPE html> <html> <head> <title>Layers Control Tutorial - L ...

  2. linux 文件的特殊权限:suid sgid sticky

    目录 一.关于文件的特殊权限 二.suid 三.SGID 四.Stickybit 一.关于文件的特殊权限 1.文件与目录设置不止基础权限:r,w,x,还有所谓的特殊权限.特殊权限会拥有一些" ...

  3. Base64编码解码 支持解码为 16进制

    https://base64.xhlylx.com/

  4. WPF 实现触摸滑动功能

    自定义ScrollViewer的Touch事件--触摸上下移动ScrollViewer滚动到指定位置   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  5. iOS技术管理思路

    iOS技术管理思路

  6. RTOS官方文档学习

    任务与协程 区别 一个程序可以只有任务.只有协程.二者都有,但不可以通过队列/信号量互相传递数据 任务特点 任务之间可以互相独立 每个任务分配自己的堆栈,提高了RAM使用率 操作简单.按优先级抢占式执 ...

  7. C++笔记(5)浅拷贝和深拷贝

    1. 定义 浅拷贝(shallow copy):多个对象共用同一块资源,同一块资源释放多次,崩溃或者内存泄漏 深拷贝(deep copy):每个对象共同拥有自己的资源,必须显式提供拷贝构造函数和赋值运 ...

  8. python中datetime的常用操作

    datetime是用于处理日期和时间的模块,一些常用的操作可通过提供的基本函数实现.引入模块--import datetime. 1.datetime转字符串--strftime()函数 有两种写法: ...

  9. vue过滤器 - filters

    在数据被渲染之前,可以对其进行进一步处理,比如将字符截取或者将小写统一转换为大写等等,过滤器本身就是一个方法. 过滤器可以定义全局或局部 # 全局 // 回调函数中的参数1永久是绑定的数据 Vue.f ...

  10. 喜讯!INFINI Easysearch 在墨天轮数据库排名中挺进前30!

    近日,2023 年 10 月的 墨天轮中国数据库流行度排行 火热出炉,本月共有 283 个数据库参与排名,中国数据库行业竞争日益激烈.其中,极限科技旗下软件产品 INFINI Easysearch 稳 ...