使用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 07 Javascript
Javascript查询DBpedia小应用实例学习
Mar 07 Javascript
Javascript中typeof 用法小结
May 12 Javascript
require.js的用法详解
Oct 20 Javascript
AngularJS中的过滤器filter用法完全解析
Apr 22 Javascript
JQuery在循环中绑定事件的问题详解
Jun 02 Javascript
vue源码解析之事件机制原理
Apr 21 Javascript
微信小程序实现倒计时调用相机自动拍照功能
Jun 10 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
Nov 22 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
May 06 Javascript
抖音短视频(douyin)去水印工具的实现代码
Mar 30 Javascript
vue3不同环境下实现配置代理
May 25 Vue.js
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中运行Linux命令并启动SSH服务的例子
2014/06/12 PHP
PHP实现添加购物车功能
2017/03/06 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
php函数式编程简单示例
2019/08/08 PHP
用javascript操作xml
2006/11/04 Javascript
一些常用的Javascript函数
2006/12/22 Javascript
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
js基本算法:冒泡排序,二分查找的简单实例
2016/10/08 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
深入理解 Python 中的多线程 新手必看
2016/11/20 Python
Python中property属性实例解析
2018/02/10 Python
Python 获取 datax 执行结果保存到数据库的方法
2019/07/11 Python
python找出列表中大于某个阈值的数据段示例
2019/11/24 Python
Python任务自动化工具tox使用教程
2020/03/17 Python
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
俄语翻译实习生的自我评价分享
2013/11/06 职场文书
超市总经理岗位职责
2014/02/02 职场文书
小学毕业感言50字
2014/02/16 职场文书
销售助理岗位职责
2014/02/21 职场文书
大学新学期计划书
2014/04/28 职场文书
公务员年度个人总结
2015/02/12 职场文书
创业计划书之溜冰场
2019/10/25 职场文书
新学期新寄语,献给新生们!
2019/11/15 职场文书
python 用递归实现通用爬虫解析器
2021/04/16 Python
用Python实现Newton插值法
2021/04/17 Python
Java移除无效括号的方法实现
2021/08/07 Java/Android
JS数组去重详情
2021/11/07 Javascript