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 相关文章推荐
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
Oct 12 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
Nov 26 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 Javascript
js获取url传值的方法
Dec 18 Javascript
JavaScript的函数式编程基础指南
Mar 19 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 Javascript
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
Vue集成Iframe页面的方法示例
Dec 12 Javascript
微信小程序之判断页面滚动方向的示例代码
Aug 30 Javascript
element-ui多文件上传的实现示例
Apr 10 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 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+javascript液晶时钟
2006/10/09 PHP
php获取CSS文件中图片地址并下载到本地的方法
2014/12/02 PHP
PHP实现获取中英文首字母
2015/06/19 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
2012/05/16 Javascript
别了 JavaScript中的isXX系列
2012/08/01 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
jQuery实现删除li节点的方法
2016/12/06 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
Python的Flask框架中web表单的教程
2015/04/20 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
2015/08/10 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
python 遍历列表提取下标和值的实例
2018/12/25 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Python生成词云的实现代码
2020/01/14 Python
python3操作注册表的方法(Url protocol)
2020/02/05 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
python动态规划算法实例详解
2020/11/22 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
优纳科技软件测试面试题
2012/05/15 面试题
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
食品安全宣传标语
2014/06/07 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
2014年班级工作总结
2014/11/14 职场文书
银行招聘自荐信
2015/03/06 职场文书
2016机关干部作风建设心得体会
2016/01/21 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS