Vue切换Tab动态渲染组件的操作


Posted in Javascript onSeptember 21, 2020

使用<component :is="组件名"></component>

结合Element-UI的导航菜单 :

UI组件

el-menu-item里的index写对应的组件名

点击事件@select="handleSelect"

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
  <el-menu-item index="Home">首页</el-menu-item>
  <el-menu-item index="About">关于我们</el-menu-item>
</el-menu>
<component :is="activeIndex"></component>

在点击事件里动态设置组件名

handleSelect(index) {
  this.activeIndex = index
}

完整代码

<template>
  <div id="app">
   <!-- 导航栏 -->
   <el-row class="home_nav" type="flex" justify="flex-start" align="middle">
    <el-col :span="2" :offset="4">
     <div>LOGO</div>
    </el-col>
    <el-col :span="12">
     <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
      <el-menu-item index="Home">首页</el-menu-item>
      <el-menu-item index="About">关于我们</el-menu-item>
     </el-menu>
    </el-col>
   </el-row>
   <component :is="activeIndex"></component>
  </div>
 </template>
 
 <script>
 import Home from './components/Home.vue'
 import About from './components/About.vue'
 
 export default {
  name: 'app',
  components: {
   Home,
   About
  },
  data(){
   return {
    activeIndex: "Home"
   }
  },
  methods: {
   handleSelect(index) {
    this.activeIndex = index
   }
  }
 }
 </script>
 <style>
 </style>

补充知识:vue 动态组件(tabs切换)keep-alive:主要用于保留组件状态或避免重新渲染

通过keep-alive 保留数据值 填写数据时切换到其他页面,后返回当前页数据保留 ,主要用于保留组件状态或避免重新渲染

<!--动态组件-component使用-->
 <div class="app">
 <ul>
  <li @click="currView='home'">首页</li>
  <li @click="currView='abount'">关于我们</li>
 </ul>
 <!--通过keep-alive 保留数据值 填写数据时切换到其他页面,后返回当前页数据保留-->
 <keep-alive>
  <component :is="currView"></component>
 </keep-alive>
 </div>
<script type="text/x-Template" id="homeTemp">
   <h2>首页数据</h2>
</script>
<script type="text/x-Template" id="abountTemp">
   <h2>关于我们数据<input type="text"/></h2>
</script>
<script type="text/javascript">
 var vm=new Vue({
  el:'.app',
  data:{
   currView:"home"
  },
  components:{
   "home":{
     template:"#homeTemp"
   },
   "abount":{
    template:"#abountTemp"
   }
  }
 });
 
</script>

Vue切换Tab动态渲染组件的操作

以上这篇Vue切换Tab动态渲染组件的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery AJAX回调函数this指向问题
Feb 08 Javascript
两种简单实现菜单高亮显示的JS类代码
Jun 27 Javascript
javascript客户端解决方案 缓存提供程序
Jul 14 Javascript
js将当前时间格式转换成时间搓(自写)
Sep 26 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
Aug 04 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
JS使用cookie实现只出现一次的广告代码效果
Apr 22 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
Aug 02 Javascript
利用JavaScript的Map提升性能的方法详解
Aug 14 Javascript
简单分析js中的this的原理
Aug 31 Javascript
js this 绑定机制深入详解
Apr 30 Javascript
JS实现4位随机验证码
Oct 19 Javascript
js实现购物车商品数量加减
Sep 21 #Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 #Javascript
浅谈vue使用axios的回调函数中this不指向vue实例,为undefined
Sep 21 #Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 #Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 #Javascript
JS实现小米轮播图
Sep 21 #Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
Sep 21 #Javascript
You might like
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
php判断文件夹是否存在不存在则创建
2015/04/09 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
javascript 面向对象编程 万物皆对象
2009/09/17 Javascript
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
微信小程序 在线支付功能的实现
2017/03/14 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
js模拟支付宝密码输入框
2017/04/11 Javascript
bootstrap table表格插件使用详解
2017/05/08 Javascript
nodejs后台集成ueditor富文本编辑器的实例
2017/07/11 NodeJs
详解使用React进行组件库开发
2018/02/06 Javascript
vue中实现移动端的scroll滚动方法
2018/03/03 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
koa-router源码学习小结
2018/09/07 Javascript
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python实现计算资源图标crc值的方法
2014/10/05 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python paramiko模块的使用示例
2018/04/11 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
Pytorch之parameters的使用
2019/12/31 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Python OpenCV中的numpy与图像类型转换操作
2020/12/11 Python
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
Smilodox官方运动服装店:从运动服到健身配件
2020/08/27 全球购物
AJAX都有哪些有点和缺点
2012/11/03 面试题
2014年工程部工作总结
2014/11/25 职场文书
长江三峡导游词
2015/01/31 职场文书