使用vue-router与v-if实现tab切换遇到的问题及解决方法


Posted in Javascript onSeptember 07, 2018

vue-router 该如何使用

忽然碰到一个常见的问题,明明可以使用 v-if / v-show 可以的解决的问题,有没有必要是使用 vue-router来解决。 比如常见的 tab 切换。一时间,我有些犹豫了,有没有必要滥用 vue-router。那到底何时用才叫合理呢?

先上代码,用两种方式实现的效果

使用vue-router

router

import Tab1 from './components/tab/TabOne'
import Tab2 from './components/tab/TabTwo'
import Tab3 from './components/tab/TabThree'
import Tab4 from './components/tab/TabFour'
const routes = [
 {path: '/tab1', component: Tab1},
 {path: '/tab2', component: Tab2},
 {path: '/tab3', component: Tab3},
 {path: '/tab4', component: Tab4},
]
const router = new VueRouter({
 routes
})

.vue 文件中

<div class="tab">
 <router-link to="/tab1">tab1</router-link>
 <router-link to="/tab2">tab2</router-link>
 <router-link to="/tab3">tab3</router-link>
 <router-link to="/tab4">tab4</router-link>
 <router-view></router-view>
</div>

使用 v-if/v-show

.vue

<div class="tab">
 <button @click="handleTab(1)">tab1</button>
 <button @click="handleTab(2)">tab2</button>
 <button @click="handleTab(3)">tab3</button>
 <button @click="handleTab(4)">tab4</button>
 <div v-if="isShow === 1"><Tab1 /></div>
 <div v-if="isShow === 2"><Tab2 /></div>
 <div v-if="isShow === 3"><Tab3 /></div>
 <div v-if="isShow === 4"><Tab4 /></div>
</div>
/**
 * script
 */
 data () {
  return {
   isShow: 1
  }
 },
 methods: {
  handleTab (v) {
   this.isShow = v
  }
 }

效果如下

使用vue-router与v-if实现tab切换遇到的问题及解决方法

  • 上方为路由
  • 下方为v-if

目前看起来效果一致。那就从另一个角度考虑,页面结构。

vue-router

使用vue-router与v-if实现tab切换遇到的问题及解决方法

v-if

使用vue-router与v-if实现tab切换遇到的问题及解决方法

总结:

  • 目前看起来,效果没有很大区别,代码量也没有减少
  • 使用原生,可能是用索引进行关联,在vue中推荐使用 数据进行驱动
  • 暂且记录一笔,以待后期继续研究

以上所述是小编给大家介绍的vue-router与v-if实现tab切换的思考,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript DOM 学习第五章 表单简介
Feb 19 Javascript
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
jquery制作图片时钟特效
Mar 30 Javascript
JS运动相关知识点小结(附弹性运动示例)
Jan 08 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
Jun 26 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
vue使用rem实现 移动端屏幕适配
Sep 26 Javascript
小程序云开发部署攻略(图文教程)
Oct 30 Javascript
JavaScript刷新页面的几种方法总结
Mar 28 Javascript
js实现跟随鼠标移动的小球
Aug 26 Javascript
Layui实现主窗口和Iframe层参数传递
Nov 14 Javascript
jquery实现的放大镜效果示例
Feb 24 jQuery
VUE DOM加载后执行自定义事件的方法
Sep 07 #Javascript
详解JavaScript事件循环机制
Sep 07 #Javascript
解决vue 引入子组件报错的问题
Sep 06 #Javascript
解决vue v-for 遍历循环时key值报错的问题
Sep 06 #Javascript
vue 解决循环引用组件报错的问题
Sep 06 #Javascript
vue slots 组件的组合/分发实例
Sep 06 #Javascript
React注册倒计时功能的实现
Sep 06 #Javascript
You might like
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
《PHP编程最快明白》第八讲:php启发和小结
2010/11/01 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
PHP将整数数字转换为罗马数字实例分享
2019/03/17 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
js中数组(Array)的排序(sort)注意事项说明
2014/01/24 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
javascript正则表达式参数/g与/i及/gi的使用指南
2014/08/27 Javascript
js运动应用实例解析
2015/12/28 Javascript
JS实现图片平面旋转的方法
2016/03/01 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
js实现多行文本框统计剩余字数功能
2017/03/28 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
解决layui的使用以及针对select、radio等表单组件不显示的问题
2019/09/05 Javascript
解决layui数据表格排序图标被超出的表头挤出去的问题
2019/09/19 Javascript
Python验证码识别处理实例
2015/12/28 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
成功的酒店创业计划书
2013/12/27 职场文书
大三预备党员入党思想汇报
2014/01/08 职场文书
鲜花方阵解说词
2014/02/13 职场文书
交通事故赔偿协议书
2014/04/15 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
有关水浒传的读书笔记
2015/06/25 职场文书
选购到合适的激光打印机
2022/04/21 数码科技