vue动态加载页面组件

2023-10-27

问题说明

在开发时遇到一个问题:在同一个页面,局部页面要根据下拉框的选项来动态加载不同的页面。
参考

1.Vue 下拉框代码

<el-form-item label="合约分类" prop="feeContractType">
        <el-select v-model="contractList.contractTypeCode" placeholder="请选择所属合约分类" 		clearable size="small" @change="ct_selectChanged">
          <el-option v-for="item in contractList" :key="item.contractTypeId" :label="item.contractTypeName" :value="{id: item.contractTypeId, path: item.contractTypePath}"></el-option>
        </el-select>
</el-form-item>

其中item.contractTypePath 是存储在数据库中的路径 components/ContractTemplate/muban1
下拉框选择模板1,模板2的时候,部分页面加载模板页面

2.设置页面组件

 <component ref="detail" :is="contractComponent" ></component>

3.方法

ct_selectChanged(value) {
      let path = value.path;     
      return this.contractComponent = (resolve) => require([`@/views/${path}`], resolve)
}

上述代码中的require中的符号 “`” 不是单引号,而是esc按键下面的那颗按键

4.完整代码

<template>
  <div class="app-container">
    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
      <el-form-item label="合约分类" prop="feeContractType">
        <el-select v-model="contractList.contractTypeCode" placeholder="请选择所属合约分类" clearable size="small" @change="ct_selectChanged">
          <el-option v-for="item in contractList" :key="item.contractTypeId" :label="item.contractTypeName" :value="{id: item.contractTypeId, path: item.contractTypePath}"></el-option>
        </el-select>
      </el-form-item>
    </el-form>
    <component ref="detail" :is="contractComponent" ></component>
  </div>
</template>
<script>
import { listActiveContractType } from "@/api/system/contractType";
export default {
  name: "ContractTemplate",
  data() {
    return {
      //笼罩层
      loading: true,
      // 显示搜索条件
      showSearch: true,
      // 查询参数
      queryParams: {
        contractTypeStatus: 0
      },
      // 表单参数
      form: {},
      // 表单校验
      rules: {
      },
      contractList: [],
      contractComponent: null,
    };
  },
  created() {
    this.getContractType();

  },
  methods: {
    ct_selectChanged(value) {
      let path = value.path;
      return this.contractComponent = (resolve) => require([`@/views/${path}`], resolve)
    },

    /** 得到分类列表 */
    getContractType(){
      listActiveContractType(this.queryParams).then(response =>{
        this.contractList = response.rows;
        console.log(response.rows)
      })
    },
  }
};
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue动态加载页面组件 的相关文章

  • HJ32 密码截取

    题目 HJ32 密码截取 题解 暴力截取所有子串 利用双指针判断子串是否为回文串 获取最大长度回文串 public int interceptPassword String password int maxLength 100 for in

随机推荐

  • vue 单页面(SPA) ,IOS端页面跳转后调用微信jssdk 时报错: "invalid signature"的解决方案

    背景 1 JS接口安全域名 OK 2 Android手机 微信开发者工具 测试分享都没问题 问题 在IOS手机微信端 从A页面 http a com A 跳转到B页面 http a com B 后 B页面进行分享时就会报签名 invalid
  • div让两个按钮并排显示在一行中

    做微信小程序 查了一些方法 对于我来说都不适用 有各种各样的问题 下面的这个试了 可以 wxml语法
  • java android小程序_java和android一些小程序

    Java 和 android 的一些小程序 1 给定字符串 String str a b c g b h l b h r v 剔除重 复的 并统计出之后其个数 public class zhaoshu1 构造遍历字符串及将重复出现的字符置空
  • 基于YOLOv5&opencv的交通道路三角锥检测系统(部署教程&源码)

    1 研究背景与意义 随着城市化进程的加快和交通流量的不断增加 交通安全问题成为了一个日益突出的社会问题 其中 交通道路上的三角锥是一种常见的交通安全设施 用于标记道路施工 交通事故现场 道路封闭等情况 然而 由于道路规模庞大 人力资源有限
  • GCN初步尝试

    任务如下 读取cora数据集 有2708个节点 每个节点有1433个特征 每个节点属于7类中的一类 节点之间存在边 注 cora的节点标号不是从0开始计数 故需要进行处理 附上一份简约代码 建立一个两层的GCN 这里的edges是经过节点重
  • GitBucket 搭建属于自己的GitHub。

    GitBucket是一个开源的代码管理仓库 就像GitHub一样 什么意思了 说白了我们可以下载GitBucket 然后放到自己服务器的Tomca容器上 就可以把代码往上面提交 GitHub你提交的代码都是可以被其它人看到的 除非你付费 但
  • 西数ZN540如何修改sector size

    写在前面 因需要在ZN540上挂载F2FS 故需要两块盘 一块传统SSD一块ZNS SSD 对于ZN540 信息如下 由于其扇区大小为4KiB 而自己服务器上没有逻辑扇区为4KiB的盘 例如三星883 所以当用883做传统盘的时候 格式化m
  • 基因富集分析 GSEA for time-course

    基因富集分析 Gene Set Enrichment Analysis GSEA 是一种针对全基因组表达谱芯片数据的分析方法 将基因与预定义的基因集进行比较 即综合现有的对基因的定位 性质 功能 生物学意义等信息基础 构建一个分子标签数据库
  • html怎么把视频设置为背景,如何将视频设置为网页背景

    第一步 准备工作 工欲善其事必先利其器 我们首先需要准备一个视频 第二步 html中引入视频 这里我们需要用到了video 标签 然后在source里面写视频的路径 autoplay用来使其自动播放 muted用来使其静音 loop为循环播
  • 数学建模:9 多元线性回归分析

    向前 后逐步回归筛选自变量 检验自变量之间是否多重共线性 计算VIF 内生性 核心变量与解释变量 虚拟变量 个数 分类数 1 否则有多重共线性 stata软件 回归模型假设检验 回归系数假设检验与解释 自变量对因变量的影响程度 标准化回归系
  • 如何检验数据正态分布_数据不符合正态分布,如何统计描述

    10万 文章推荐的科研神器 秒杀 谷歌翻译 不够用 再送两个 2020 04 09 介 绍 我们一般会在文献的统计方法部分看到这样的描述 对于数值变量 首先进行正态性检验 如果各组均满足正态性 采用均数 标准差 进行统计描述 采用t检验进行
  • php类中的私有化构造函数,在类中将构造函数私有化有什么用?

    通过提供私有构造函数 可以防止在此类之外的任何地方创建类实例 提供这种构造函数有几种用例 答 您的类实例是在static方法中创建的 static然后将该方法声明为public class MyClass private MyClass p
  • JAVA产生五位随机验证码

    用Java写出一个程序产生5位验证码 且前四位是字母不限大小写最后一位是数字 解法一 import java util Random public class YanZhengMa public static void main Strin
  • 【华为面试题】栈

    思路 首先 遍历输入的压缩字符串 三种情况 1 遇到字符 将其入栈 2 遇到字符 计算重复次数 将栈中的字符组合成一个字符串 重复拼接后再入栈 3 遇到字母字符 判断下一个字符是否是数字 若是数字 则将当前字母重复拼接后入栈 若不是数字 则
  • mysql的安装与使用

    1 mysql下载与安装 下载解压 下载地址 https dev mysql com downloads mysql 5 7 html downloads 下载到指定位置 如D mysql 5 7 23 winx64 把解压的文件夹bin目
  • 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理(2.3-2.4)

    GitHub计算机系统CSAPP课程资源 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 1 2 2 计算机系统课程 笔记总结 CSAPP第二章 信息的表示和处理 2 3 2 4 计算机系统课程 笔记总结 CSAPP第三章
  • opencv android 服务包,Unity中使用C++ OpenCV并且打包为Android apk

    我们需要在Unity中使用WebCamTexture获取图像 传送到OpenCV中做处理 然后返回到Unity中作显示 Unity通过调用动态链接库so与OpenCV进行通信 最终程序会打包成APK并且在Android上运行 系统环境 Vi
  • 华为OD机试 Python 【座位调整】

    描述 由于疫情原因 学生之间的座位要保持一定距离 每个学生的左右都要至少有一个空座 给定一个代表座位情况的数组desk 其中1代表有学生坐在那个位置 0代表该位置为空 问你在保持疫情安全距离的前提下 我们还能安排多少学生 输入 一个整数数组
  • cuda运行时库配置问题

    总是遇到一堆问题 这次遇到的问题和这个类似 http cudazone nvidia cn forum forum php mod viewthread tid 483 先看了一些文章 明白了是因为VC在编译和链接过程用的默认库被新库取代
  • vue动态加载页面组件

    问题说明 在开发时遇到一个问题 在同一个页面 局部页面要根据下拉框的选项来动态加载不同的页面 参考 1 Vue 下拉框代码