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 相关文章推荐
用JavaScript和注册表脚本实现右键收藏Web页选中文本
Jan 28 Javascript
js获取单选框或复选框值及操作
Dec 18 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
Jan 12 Javascript
JS实现淡入淡出图片效果的方法分析
Dec 20 Javascript
js cookie实现记住密码功能
Jan 17 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
Feb 12 Javascript
js中删除数组中的某一元素实例(无下标时)
Feb 28 Javascript
Javascript中click与blur事件的顺序详析
Apr 25 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
vue-router懒加载速度缓慢问题及解决方法
Nov 25 Javascript
vue+elementUI实现简单日历功能
Sep 24 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_xmlhttp 乱码问题解决方法
2009/08/07 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
JavaScript数值数组排序示例分享
2014/05/27 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
js实现同一页面多个运动效果的方法
2015/04/10 Javascript
javascript文件加载管理简单实现方法
2015/07/25 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
three.js快速入门【推荐】
2017/01/21 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
js点击时关闭该范围下拉菜单之外的菜单方法
2018/01/11 Javascript
在Vue组件中获取全局的点击事件方法
2018/09/06 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
JavaScript实现图片上传并预览并提交ajax
2019/09/30 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python中Django 后台自定义表单控件
2017/03/28 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
使用matplotlib中scatter方法画散点图
2019/03/19 Python
python SocketServer源码深入解读
2019/09/17 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
什么是serialVersionUID
2016/03/04 面试题
优秀员工自荐书
2013/12/19 职场文书
酒鬼酒广告词
2014/03/21 职场文书
法律顾问服务方案
2014/05/15 职场文书
结婚仪式主持词
2015/06/29 职场文书
SQL Server表分区删除详情
2021/10/16 SQL Server