Vue封装公共组件TarBar
github:https://github.com/zwnsyw/TabBar
一、实现简单思路
1.在页面底部有一个单独的TabBar组件1.1自定义TabBar组件,在APP中使用1.2让TabBar出于底部,并设置相关的样式
2.TabBar中显示的内容由外界决定
2.1定义插槽
2.2flex布局平分TabBar
3.自定义TabBarItem,可以传入 图片和文字
3.1定义TabBarItem,并且定义两个插槽:图片、文字。
3.2给两个插槽外层包装div,用于设置样式。
3.3填充插槽,实现底部TabBar的效果
4.传入 高亮图片
4.1定义另外一个插槽,插入active-icon的数据
4.2定义一个变量isActive,通过v-show来决定是否显示对应的icon
5.TabBarItem绑定路由数据
5.1安装路由:npm install vue-router —save
5.2完成router/index.js的内容,以及创建对应的组件
5.3main.js中注册router
5.4APP中加入<router-view>组件
6.点击item跳转到对应路由,并且动态决定isActive
6.1监听item的点击,通过this.$router.replace()替换路由路径
6.2通过this.$route.path.indexOf(this.link) !== -1来判断是否是active
7.动态计算active样式
7.1封装新的计算属性:this.isActive ? {'color': 'red'} : {}
二、使用
1. App.vue里面引入MainTabBar
1.1在MainTabBar里面填充插槽
三、预览:

Vue封装公共组件TarBar的更多相关文章
- react初探(二)之父子组件通信、封装公共组件
一.前言 在组件方面react和Vue一样的,核心思想玩的就是组件,下面举两个组件常用的情景. 场景一:假如我们现在有一个页面包含表格以及多个弹框,这种时候如果将这个页面的业务代码写在一个组件中,那么 ...
- 基于Vue封装分页组件
使用Vue做双向绑定的时候,可能经常会用到分页功能 接下来我们来封装一个分页组件 先定义样式文件 pagination.css ul, li { margin: 0px; padding: 0px;} ...
- vue 封装分页组件
分页 一般都是调接口, 接口为这种格式 {code: 0, msg: "success",…} code:0 data:{ content:[{content: "11& ...
- echars vue 封装全局组件 曲线 柱状图 同v-chars绿色系 配置样式
Echars vue封装 ,曲线图 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- vue 封装自定义组件
组件结构 sjld >index.js >sjid.vue 最好单独放一个文件夹,有依赖的话装依赖 Sjld.vue 内容 <template id="sjld" ...
- vue封装分页组件
element提供的分页是已经封装好的组件,在这里再次封装是为了避免每个用到分页的页面点击跳转时都要写一遍跳转请求 分页组件 <!--分页组件--> <template> &l ...
- vue自定义公共组件components||在vue中,解决修改后的数据不能渲染到dom上的bug
//主页面框架用来嵌入:Main.vue <el-col :span="24" > * { margin: 0; padding: 0; } html { width: ...
- Vue 封装的组件生命周期钩子
export default { // ... // 在组件初始化时调用,可以简单理解为页面加载时 created () { // 存在 localStorage 的缓存内容 if (localSto ...
- vue 封装弹窗组件注意
父组件 <template> <div> <p @click="onDelete"> 打开 </p> <!-- 弹框 --&g ...
随机推荐
- 弹性式数据集RDD
弹性式数据集RDD 一.RDD简介二.创建RDD 2.1 由现有集合创建 2.2 引用外部存储系统中的数据集 2.3 textFile & who ...
- node的stream
stream在Unix系统中是个标准的概念. In computer programming, standard streams are preconnected input and output c ...
- Poj2109 (2) k^n = p.
二分法,由p最大值最小值的中间值开始猜k,通过比较pow(k,n)与p的大小来进一步精确k,直到找到. #include<stdio.h> #include<math.h> # ...
- 把数据写入txt中 open函数中 a与w的区别
a: 打开一个文件用于追加.如果该文件已存在,文件指针将会放在文件的结尾. 也就是说,新的内容将会被写入到已有内容之后.如果该文件不存在,创建新文件进行写入. w: 打开一个文件只用于写入.如果该文 ...
- java链接redis
创建maven项目 2.导入jar包 <dependencies> <dependency> <groupId>redis.clients</groupId& ...
- 人工智能中小样本问题相关的系列模型演变及学习笔记(二):生成对抗网络 GAN
[说在前面]本人博客新手一枚,象牙塔的老白,职业场的小白.以下内容仅为个人见解,欢迎批评指正,不喜勿喷![握手][握手] [再啰嗦一下]本文衔接上一个随笔:人工智能中小样本问题相关的系列模型演变及学习 ...
- 第3章 衡量线性回归的指标:MSE,RMSE,MAE
, , ,, , , ,
- DQN(Deep Q-learning)入门教程(二)之最优选择
在上一篇博客:DQN(Deep Q-learning)入门教程(一)之强化学习介绍中有三个很重要的函数: 策略:\(\pi(a|s) = P(A_t=a | S_t=s)\) 状态价值函数:\(v_\ ...
- Java获取主板序列号、MAC地址、CPU序列号工具类
import java.io.File; import java.io.FileWriter; import java.io.BufferedReader; import java.io.IOExce ...
- 【JVM】GCRoots和JVM的参数配置
如何理解GCRoots? 为了解决引用计数法的循环引用问题,Java使用了可达性分析的方法.GC Roots是一组活跃的引用,通过一系列名为GC Roots的对象作为起始点,沿着该对象向下搜索,如果一 ...