vue component使用,动态加载子组件,调用子组件方法

2023-11-01

 

1.vue component使用

component组件(单独拿出一个组件来专门进行切换使用)

官方文档

https://cn.vuejs.org/v2/guide/components.html#动态组件 

https://cn.vuejs.org/v2/guide/components-dynamic-async.html

2.使用component动态加载子组件

<template>
<component ref="detail" :is="myComponent" :device="device"></component>
</template>
<script>
export default {
  props: ["device"],
  data() {
    return {
      showdevice: {},
      myComponent:null,
     
  },
  mounted() {
    this.detailComponent();

    if (this.myComponent) {
        this.myComponent.getPageRes(device); //调用子组件方法
        this.myComponent.getDetail(device.id);
    }
  },
  methods: {
    detailComponent(){
      let vue = this;
      let deviceTypeNo = this.device.deviceTypeNo;
      if(deviceTypeNo==1001){
      var myComponent =() => import('../operation/monitor/smokedetail.vue');
          return vue.myComponent = myComponent;
      }else if(deviceTypeNo==1006){

      }else if(deviceTypeNo==1101){
      var myComponent =() => import('../operation/safe/infrareddetail.vue');
          return vue.myComponent =myComponent;
      }
    }
    
   
  }
};
</script>

 在上述代码中

<component ref="detail" :is="myComponent" :device="device"></component>

is用来动态绑定组件,device为传给子组件的参数

代码中定义了 myComponent 根据deviceTypeNo 的不同加载不同的组件

3.调用子组件方法

通常我们调用子组件的方法时会使用 ref   

如下

<child ref="child"></child>

给了组件添加ref,若child组件中有 getDetail() 方法,可使用 this.$refs.child.getDetail()调用

但是在使用component加载的动态组件中就不能使用了,我们不能使用ref获取到动态组件

所以在上面2 中的代码中我定义了 一个 myComponent 用来获取动态组件中的方法

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue component使用,动态加载子组件,调用子组件方法 的相关文章

  • NCC常用操作自助工具

    selftool 介绍 NChome操作自助工具 对常用操作进行了集成 类图 工具使用 功能介绍 初始化配置 点击按钮可对nchome进行关联 重启服务 点击按钮一键重启服务 sysConfig 点击按钮一键打开home配置界面 clear

随机推荐

  • 云计算技术与应用赛项竞赛试题(样卷)

    选手须知 1 竞赛试题通过在线 云计算技术与应用 竞赛考试系统和书面文档共同发布 内容完全一致 如出现纸质任务书缺页 字迹不清 与考试系统中不一致等问题 请及时向裁判示意 并进行任务书的更换 2 参赛团队应在4小时内完成任务书规定内容 选手
  • 尝试实现带有迭代器的 vector

    两个注意点 1 底层内存分配采用 new 和 delete 非 stl 书中所示 2 移动元素为集体后移 并非原书中拆解后移 原书移动方式原因未知 include
  • docker部署多个mysql容器,并使用java连接

    测试springboot多个数据源配置时 需要安装多个mysql容器 由于资源限制 当前只有一台虚拟机 如果在一台机器上安装多个mysql实例 是可以的 但步骤比较繁琐 使用docker来安装MySQL容器 非常简单 只需要简单几步 对于测
  • vue创建WebSocket进行实时通讯

    vue WebSocket创建实现实时通讯 websocket async initWebSocket if websock return if const chatid return if typeof WebSocket undefin
  • C++标准库头文件(工具库->typeinfo)

    参考网址 https zh cppreference com w cpp header https blog csdn net w55100 article details 80330812 工具库 typeinfo 运行时类型信息工具 类
  • 3. Unity之三维模型

    1 网格 Mesh 三维物体模型在unity中一般称为mesh 即网格数据 模型一般使用专用的建模软件设计 将mesh文件导入到unity中进行使用 一般mesh中保存的是三维模型的面和顶点数据 在unity中通过下图方法进行调整 其中 S
  • JUC 十三. CountDownLatch 与 CyclicBarrier 与 Semaphore 基础使用与底层原理

    目录 一 CountDownLatch 减少计数器 二 CyclicBarrier 循环栅栏 三 Semaphore 信号灯 四 CountDownLatch 底层实现 await 判断state 也可以简单理解为计数 如果为0获取锁成功
  • css背景 背景颜色 颜色渐变

    背景全屏 body background image url imgs bj png background repeat no repeat background size 100 100 background attachment fix
  • 私信功能

    最近在做一个私信的功能 一张message表 存储消息内容和创建者id 一张user message表 存储发送者 接收者及消息id 本以为考虑还算周全 今天又查看了一些文章 发现还是差的远 下面是从OSChina转来的一篇文章 比我设计的
  • 关于Filter 覆盖getParameterMap 来实现功能

    在获得请求中的参数时 有三种方法 getParameter getParameterMap getParameterValues 这三种方法在底层实现中是互相调用的 所以若要彻底解决提交乱码的问题 则需要覆盖这三个方法 覆盖getParam
  • uLua中遇到的问题

    1 C 调用lua函数参数为空的问题 在C 中调用以 定义的函数传参时 self被第一个参数覆盖 而obj将为空 MessagePanel function MessagePanel Test1 obj lua调用正常 obj为传入参数 s
  • 上银伺服驱动器接线图_FRLS10205A4C上银伺服电机HIWIN D2-1023-P-C0 FRMS7520508C MD-36-S2...

    mega fabe成都上银伺服驱动器维修MD 18 DFRLS10205A4C上银伺服电机HIWIN D2 1023 P C0 FRMS7520508C MD 36 S2 能够发挥最大效能 ST系列电机SD300 310 系列 SD系列交流
  • pluto实现分析(19)

    本文档的Copyleft归yfydz所有 使用GPL发布 可以自由拷贝 转载 转载时请保持文档的完整性 严禁用于任何商业用途 msn yfydz no1 hotmail com 来源 http yfydz cublog cn 15 快速模式
  • 华为OD机试真题- 喊7的次数重排-2023年OD统一考试(B卷)

    题目描述 喊7是一个传统的聚会游戏 N个人围成一圈 按顺时针从1到N编号 编号为1的人从1开始喊数 下一个人喊的数字为上一个人的数字加1 但是当将要喊出来的数字是7的倍数或者数字本身含有7的话 不能把这个数字直接喊出来 而是要喊 过 假定玩
  • python怎么产生随机浮点数_python3生成随机数的几种常用方法

    前言 python中生成随机数主要用到random模块 方法主要包括 randint uniform random sample choice等几种常用方法 本篇教程就来说说这几种方法的使用方式 以及唯一流水号 时间戳 和验证码的实例展示
  • 高德地图的逆地理编码

    在一些比赛中 我们经常需要将地理位置转化为经纬度坐标 地理编码 或是将经纬度坐标转化为对应的地理位置 逆地理编码 对于这类问题 一般需要调用某个地图的API来实现 这里以高德地图的API为例 介绍如何实现逆地理编码 第一步 在高德地图API
  • ogre引擎0.12.0抄写记录

    惊喜地发现 文档齐全 可以参考类图抄 C Users Legion Desktop ogre v0 12 0 ogrenew Docs api html hierarchy html 先进行 1 OgreMain 然后 2 RenderSy
  • django实现文件上传

    在django中实现文件上传有三种方法可以实现 自己手动写 使用Form组件 使用ModelForm组件 其中使用ModelForm组件实现是最简单的 1 自己手写 先写一个上传的页面 upload file html enctype mu
  • 【大电流H桥电机驱动电路的设计与解析(包括自举电路的讲解,以IR2104+LR7843为例)】

    一 简介 之前介绍过H桥电机驱动电路的基本原理 但是以集成的电机驱动芯片为示例 这些集成的芯片使用起来比较简单 但是只能适用于一些小电流电机 对于大电流的电机 比如 RS380和RS540电机 则不能使用这些集成的芯片 否则会导致芯片严重发
  • vue component使用,动态加载子组件,调用子组件方法

    1 vue component使用 component组件 单独拿出一个组件来专门进行切换使用 官方文档 https cn vuejs org v2 guide components html 动态组件 https cn vuejs org