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(视频与PPT)
Dec 27 Javascript
js中巧用cssText属性批量操作样式
Mar 13 Javascript
JavaScript设计模式之适配器模式介绍
Dec 28 Javascript
JavaScript中setMonth()方法的使用详解
Jun 11 Javascript
js淡入淡出焦点图幻灯片效果代码分享
Sep 08 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
Jun 12 Javascript
详解vue-cli项目中怎么使用mock数据
May 29 Javascript
JavaScript实现新年倒计时效果
Nov 17 Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 Javascript
react-router-dom 嵌套路由的实现
May 02 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
Sep 02 Javascript
jQuery实现日历效果
Sep 11 jQuery
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
PHP5/ZendEngine2的改进
2006/10/09 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
2011/05/02 PHP
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
angularjs手动识别字符串中的换行符方法
2018/10/02 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
在Python中使用模块的教程
2015/04/27 Python
使用python在本地电脑上快速处理数据
2017/06/22 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
Python celery原理及运行流程解析
2020/06/13 Python
anaconda升级sklearn版本的实现方法
2021/02/22 Python
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
英国顶尖手表珠宝品牌独家授权经销商:HS Johnson
2020/10/28 全球购物
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
2014年母亲节演讲稿范文
2014/05/07 职场文书
安全演讲稿开场白
2014/08/25 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
通知的格式范文
2015/04/27 职场文书
大学生读书笔记大全
2015/07/01 职场文书
Python实现数据的序列化操作详解
2022/07/07 Python