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 相关文章推荐
isArray()函数(JavaScript中对象类型判断的几种方法)
Nov 26 Javascript
js判断一个元素是否为另一个元素的子元素的代码
Mar 21 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
May 23 Javascript
JQuery实现鼠标滑过显示导航下拉列表
Sep 12 Javascript
搭建pomelo 开发环境
Jun 24 Javascript
JavaScript不刷新实现浏览器的前进后退功能
Nov 05 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
js实现tab切换效果实例
Sep 16 Javascript
Bootstrap 手风琴菜单的实现代码
Jan 20 Javascript
self.attachevent is not a function的解决方法
Apr 04 Javascript
JavaScript for循环 if判断语句(学习笔记)
Oct 11 Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 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之curl设置超时实例
2014/11/03 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
AES加解密在php接口请求过程中的应用示例
2016/10/26 PHP
js播放wav文件(源码)
2013/04/22 Javascript
JsRender实用入门教程
2014/10/31 Javascript
jQuery使用$.each遍历json数组的简单实现方法
2016/04/18 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
2017/04/22 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
angular json对象push到数组中的方法
2018/02/27 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
Python日期操作学习笔记
2008/10/07 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
Sanic框架Cookies操作示例
2018/07/17 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2020/03/06 Python
Django model重写save方法及update踩坑详解
2020/07/27 Python
css3实现超炫风车特效
2014/11/12 HTML / CSS
使用 CSS3 中@media 实现网页自适应的示例代码
2020/03/24 HTML / CSS
线程同步的方法
2016/11/23 面试题
SOA的常见陷阱或者误解是什么
2014/10/05 面试题
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
平面设计专业大学生职业规划书
2014/03/12 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
知识竞赛拉拉队口号
2014/06/16 职场文书
医药销售自我评价200字
2014/09/11 职场文书
你真的了解redis为什么要提供pipeline功能
2021/06/22 Redis
JavaScript 定时器详情
2021/11/11 Javascript
浅谈Python中对象是如何被调用的
2022/04/06 Python
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL