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中继承的一些示例方法与属性参考
Aug 07 Javascript
js中匿名函数的N种写法
Sep 08 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
Javscript调用iframe框架页面中函数的方法
Nov 01 Javascript
javascript+canvas制作九宫格小程序
Dec 28 Javascript
JavaScript文档碎片操作实例分析
Dec 12 Javascript
jQuery动画效果实现图片无缝连续滚动
Jan 12 Javascript
JavaScript代码生成PDF文件的方法
Feb 26 Javascript
JavaScript中的各种操作符使用总结
May 26 Javascript
实例解析Array和String方法
Dec 14 Javascript
Node.Js生成比特币地址代码解析
Apr 21 Javascript
JavaScript如何利用Promise控制并发请求个数
May 14 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
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
Javascript 八进制转义字符(8进制)
2011/04/08 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
jQuery fadeTo方法调整图片的透明度使用介绍
2013/05/06 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
Python smallseg分词用法实例分析
2015/05/28 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
Python如何根据时间序列数据作图
2020/05/12 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
易程科技软件测试笔试
2013/03/24 面试题
装修协议书范本
2014/04/21 职场文书
李敖北大演讲稿
2014/05/24 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
公安机关纪律作风整顿个人剖析材料材料
2014/10/10 职场文书
大二学生自我检讨书
2014/10/23 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL
一些让Python代码简洁的实用技巧总结
2021/08/23 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL