vue组件tabbar使用方法详解


Posted in Javascript onNovember 06, 2018

本文实例为大家分享了vue组件tabbar的具体使用方法,供大家参考,具体内容如下

1.App.vue

<!-- 入口文件 -->
<template>
 <div id="app">
 <!-- 视图层 -->
 <router-view></router-view>
 <!-- 底部选项卡 -->
 <tabbar @on-index-change="onIndexChange" v-if="tabbarShow">
  <tabbar-item selected link="/home">
  <img slot="icon" src="./assets/img/ic_tab_home_normal.png">
  <img slot="icon-active" src="./assets/img/ic_tab_home_active.png">
  <span slot="label">首页</span>
  </tabbar-item>
  <tabbar-item show-dot link="/audioBook">
  <img slot="icon" src="./assets/img/ic_tab_subject_normal.png">
  <img slot="icon-active" src="./assets/img/ic_tab_subject_active.png">
  <span slot="label">书影音</span>
  </tabbar-item>
  <tabbar-item badge="2" link="/mine">
  <img slot="icon" src="./assets/img/ic_tab_profile_normal.png">
  <img slot="icon-active" src="./assets/img/ic_tab_profile_active.png">
  <span slot="label">我的</span>
  </tabbar-item>
 </tabbar>
 </div>
</template>
 
<script>
 // 引入 vux tabbar 组件
 import { Tabbar, TabbarItem } from 'vux'
 // 引入 vuex 的两个方法
 import {mapGetters, mapActions} from 'vuex'
 
 export default {
 name: 'app',
 components:{
  Tabbar,
  TabbarItem
 },
 data() {
  return {
  select:"Home"
  }
 },
 // 计算属性
 computed:mapGetters([
  // 从 getters 中获取值
  'tabbarShow'
 ]),
 // 监听,当路由发生变化的时候执行
 watch:{
  $route(to,from){
  if(to.path == '/' || to.path == '/home' || to.path == '/audioBook' || to.path == '/mine'){
   /**
   * $store来自Store对象
   * dispatch 向 actions 发起请求
   */
   this.$store.dispatch('showTabBar');
  }else{
   this.$store.dispatch('hideTabBar');
  }
  }
 },
 methods: {
  onIndexChange (newIndex, oldIndex) {
  console.log(newIndex, oldIndex);
  }
 }
 }
</script>
 
<style lang="less" scoped>
 
</style>

2.效果图

vue组件tabbar使用方法详解

3.其他情况

<template>
 <div class="weui-tab">
 <div class="weui-tab__panel">
  <p v-for="i in 100">{{i}}</p>
 </div>
 <tabbar>
  <!--use v-link-->
  <tabbar-item v-link="{path:'/component/cell'}">
  <img slot="icon" src="../assets/demo/icon_nav_button.png">
  <span slot="label">Wechat</span>
  </tabbar-item>
  <!--use http link-->
  <tabbar-item show-dot link="https://vux.li">
  <img slot="icon" src="../assets/demo/icon_nav_msg.png">
  <span slot="label">Message</span>
  </tabbar-item>
  <!--use vue-router link-->
  <tabbar-item selected link="/component/cell">
  <img slot="icon" src="../assets/demo/icon_nav_article.png">
  <span slot="label">Explore</span>
  </tabbar-item>
  <!--use vue-router object link-->
  <tabbar-item :link="{path:'/component/cell'}">
  <img slot="icon" src="../assets/demo/icon_nav_cell.png">
  <span slot="label">News</span>
  </tabbar-item>
 </tabbar>
 </div>
</template>
 
<script>
import { Tabbar, TabbarItem } from 'vux'
export default {
 ready () {
 document.querySelector('body').style.height = '100%'
 document.querySelector('html').style.height = '100%'
 document.querySelector('#app').style.height = '100%'
 },
 components: {
 Tabbar,
 TabbarItem
 }
}
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE 当eval遇上function的处理
Aug 09 Javascript
JQuery打造省市下拉框联动效果
May 18 Javascript
js表头排序实现方法
Jan 16 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
js省市区级联查询(插件版&amp;无插件版)
Mar 21 Javascript
史上最全JavaScript常用的简写技巧(推荐)
Aug 17 Javascript
vue-cli3搭建项目的详细步骤
Dec 05 Javascript
如何自动化部署项目?折腾服务器之旅~
Apr 16 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
Nov 08 Javascript
Javascript中的this,bind和that使用实例
Dec 05 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
Aug 13 Javascript
基于vue实现微博三方登录流程解析
Nov 04 Javascript
微信小程序下拉框功能的实例代码
Nov 06 #Javascript
详解ES6中的 Set Map 数据结构学习总结
Nov 06 #Javascript
小程序实现页面顶部选项卡效果
Nov 06 #Javascript
Vue常用的几个指令附完整案例
Nov 06 #Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
Nov 06 #Javascript
100行代码实现一个vue分页组功能
Nov 06 #Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 #Javascript
You might like
ThinkPHP查询中的魔术方法简述
2014/06/25 PHP
php以post形式发送xml的方法
2014/11/04 PHP
PHP单例模式详细介绍
2015/07/01 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
一些常用的Javascript函数
2006/12/22 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
浅析Node.js查找字符串功能
2014/09/03 Javascript
JQuery显示、隐藏div的几种方法简明总结
2015/04/16 Javascript
浅谈JS中的bind方法与函数柯里化
2016/08/10 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
微信小程序 上传头像的实例详解
2017/10/27 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
vue-cli中实现响应式布局的方法
2021/03/02 Vue.js
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
全面了解python字符串和字典
2016/07/07 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
matplotlib 画双轴子图无法显示x轴的解决方法
2020/07/27 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
Canvas绘制浮动球效果的示例
2017/12/29 HTML / CSS
Stuarts London美国/加拿大:世界领先的独立男装零售商之一
2019/03/18 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
怎样声明子类
2013/07/02 面试题
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
大学老师推荐信
2014/02/25 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
电子商务优秀毕业生求职信
2014/07/11 职场文书
2014年街道办事处工作总结
2014/12/11 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
2016年教师节慰问信
2015/12/01 职场文书