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 相关文章推荐
caller和callee的区别介绍及演示结果
Mar 10 Javascript
js中方法重载如何实现?以及函数的参数问题
Aug 01 Javascript
如何在Linux上安装Node.js
Apr 01 Javascript
node.js 中国天气预报 简单实现
Jun 06 Javascript
JS获取一个未知DIV高度的方法
Aug 09 Javascript
实现一个完整的Node.js RESTful API的示例
Sep 29 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
Dec 29 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
layui表格设计以及数据初始化详解
Oct 26 Javascript
JS 数组基本用法入门示例解析
Jan 16 Javascript
vue element ui validate 主动触发错误提示操作
Sep 21 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 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
?繁体转换的class
2006/10/09 PHP
为PHP安装imagick时出现Cannot locate header file MagickWand.h错误的解决方法
2014/11/03 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
Javascript基础教程之数组 array
2015/01/18 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
vue2.0嵌套路由实现豆瓣电影分页功能(附demo)
2017/03/13 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
Bootstrap弹出框(Popover)被挤压的问题小结
2017/07/11 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
vue中如何使用ztree
2018/02/06 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
[01:11:28]DOTA2-DPC中国联赛定级赛 RNG vs Phoenix BO3第一场 1月8日
2021/03/11 DOTA
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
关于Python如何避免循环导入问题详解
2017/09/14 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
2020/05/22 Python
keras导入weights方式
2020/06/12 Python
Python常用断言函数实例汇总
2020/11/30 Python
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
Furla官网:意大利著名的皮革品牌
2019/08/06 全球购物
道路运输企业安全生产责任书
2014/07/28 职场文书
学习十八大演讲稿
2014/09/15 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
开展警示教育活动总结
2015/05/09 职场文书
2015国庆节66周年标语
2015/07/30 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏
Golang流模式之grpc的四种数据流
2022/04/13 Golang