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 相关文章推荐
!DOCTYPE声明对JavaScript的影响分析
Apr 12 Javascript
js图片预加载示例
Apr 30 Javascript
JavaScript中的立即执行函数表达式介绍
Mar 15 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
AngularJS ng-style中使用filter
Sep 21 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
Feb 23 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
Sep 12 Javascript
vue使用keep-alive实现数据缓存不刷新
Oct 21 Javascript
JS实现的JSON数组去重算法示例
Apr 11 Javascript
JavaScript实现的拼图算法分析
Feb 13 Javascript
详解利用eventemitter2实现Vue组件通信
Nov 04 Javascript
浅谈vuex的基本用法和mapaction传值问题
Nov 08 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
PHP安装攻略:常见问题解答(二)
2006/10/09 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
使用js检测浏览器是否支持html5中的video标签的方法
2014/03/12 Javascript
jQuery中each()方法用法实例
2014/12/27 Javascript
angularJS提交表单(form)
2015/02/09 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
JS实现列表的响应式排版(推荐)
2016/09/01 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
Vue-Quill-Editor富文本编辑器的使用教程
2018/09/21 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
如何封装了一个vue移动端下拉加载下一页数据的组件
2019/01/06 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
vue基于better-scroll实现左右联动滑动页面
2020/06/30 Javascript
vue setInterval 定时器失效的解决方式
2020/07/30 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
跟老齐学Python之玩转字符串(2)
2014/09/14 Python
Python中的元类编程入门指引
2015/04/15 Python
python分布式环境下的限流器的示例
2017/10/26 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
深入浅析Python的类
2018/06/22 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
python线程优先级队列知识点总结
2021/02/28 Python
施华洛世奇水晶荷兰官方网站:SWAROVSKI荷兰
2017/05/12 全球购物
大学自荐信
2013/12/12 职场文书
小学运动会表扬稿
2014/01/19 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang