使用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 相关文章推荐
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
JS实现模仿微博发布效果实例代码
Dec 16 Javascript
jQuery通过扩展实现抖动效果的方法
Mar 11 Javascript
jQuery+PHP+MySQL二级联动下拉菜单实例讲解
Oct 27 Javascript
JQuery.Ajax()的data参数类型实例详解
Nov 20 Javascript
JS+CSS实现鼠标经过弹出一个DIV框完整实例(带缓冲动画渐变效果)
Mar 25 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
Jan 11 Javascript
Vue完整项目构建(进阶篇)
Feb 10 Javascript
js 实现ajax发送步骤过程详解
Jul 25 Javascript
JavaScript工具库MyTools详解
Jan 01 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
Jun 01 Javascript
Openlayers学习之地图比例尺控件
Sep 28 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
WHOIS类的修改版
2006/10/09 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
Yii数据库缓存实例分析
2016/03/29 PHP
针对PHP开发安全问题的相关总结
2019/03/22 PHP
自动更新作用
2006/10/08 Javascript
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
2010/06/25 Javascript
JavaScript按位运算符的应用简析
2014/02/04 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
AngularJS手动表单验证
2016/02/01 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
微信小程序之发送短信倒计时功能
2017/08/30 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
Python中模块与包有相同名字的处理方法
2017/05/05 Python
Python爬虫的两套解析方法和四种爬虫实现过程
2018/07/20 Python
基于Python的Post请求数据爬取的方法详解
2019/06/14 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
如何使用Python自动控制windows桌面
2019/07/11 Python
Python小白学习爬虫常用请求报头
2020/06/03 Python
python thrift 实现 单端口多服务的过程
2020/06/08 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
大学生未来职业生涯规划书
2014/02/15 职场文书
《毛主席在花山》教学反思
2014/04/20 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
表扬稿格式范文
2015/01/16 职场文书
师范生教育见习总结
2015/06/23 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
Python pygame实现中国象棋单机版源码
2021/06/20 Python