使用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 相关文章推荐
JS查看对象功能代码
Apr 25 Javascript
javascript attachEvent和addEventListener使用方法
Mar 19 Javascript
javascript 模拟JQuery的Ready方法实现并出现的问题
Dec 06 Javascript
js创建元素(节点)示例
Jan 02 Javascript
DIV始终居中的js代码
Feb 17 Javascript
Jquery Ajax xmlhttp请求成功问题
Feb 04 Javascript
canvas绘制的直线动画
Jan 23 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
Jan 24 Javascript
Vuex 快速入门(简单易懂)
Sep 20 Javascript
微信小程序用户拒绝授权的处理方法详解
Sep 20 Javascript
js实现点赞效果
Mar 16 Javascript
vue中是怎样监听数组变化的
Oct 24 Javascript
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
2006/11/25 PHP
php写的带缓存数据功能的mysqli类
2012/09/06 PHP
php中的动态调用实例分析
2015/01/07 PHP
php编程中echo用逗号和用点号连接的区别
2016/03/26 PHP
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
详细分析JavaScript函数定义
2015/07/16 Javascript
jquery动感漂浮导航菜单代码分享
2020/04/15 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
2015/10/16 Javascript
javascript中this关键字详解
2016/12/12 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
AngularJS 打开新的标签页实现代码
2017/09/07 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
Python三级目录展示的实现方法
2016/09/28 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python实现注册登录系统
2017/08/08 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
2019/10/28 Python
使用canvas实现黑客帝国数字雨效果
2020/01/02 HTML / CSS
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
机关门卫岗位职责
2013/12/30 职场文书
模具设计与制造专业推荐信
2014/02/16 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
2014年三八妇女节活动方案
2014/02/28 职场文书
小学一年级学生评语
2014/04/22 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
国庆宣传标语
2014/06/30 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
酒店人事专员岗位职责
2015/04/07 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python
【海涛七七解说】DCG第二周:DK VS 天禄
2022/04/01 DOTA
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python