美文网首页
vue动态组件动态引入

vue动态组件动态引入

作者: 狗蛋儿妈妈爱coding | 来源:发表于2021-02-05 17:21 被阅读0次
1、先来看一段常规的组件引入和使用:

1、可copy的代码展示

// 这是引入部分
import inputC from './inputC'
export default {
  components:{
    inputC,
  },
 data () {
    return {
      val: {},
     }
 }
}
<template>
  <div class="field">
    <div class="inner">

      <!--这是使用部分-->
      <inputC  :params="val"></inputC>

    </div>
    <div class="bottom">
      <el-button type="primary" @click="update">编辑</el-button>
      <el-button type="primary" @click="submit">提交</el-button>
      <el-button type="primary" @click="search">查询</el-button>
      <el-button type="primary" @click="search2">查询2</el-button>
    </div>
  </div>
</template>

2、不可copy的代码截图解释:


image.png
2、接下来为动态组件、动态引入:

1、上面所展示的是最基本的操作,组件名、组件个数、组件路径确定,可按照常规步骤引入、使用。
2、下面展示当不确定组件名、组件个数、组件路径 时, 如何引入组件、如何使用组件?
3、以下为可copy的代码展示:

<template>
  <div class="field list">
  
      <component :params="childParams" :is="NextTickName"></component>

  </div>
</template>
/*
*定义一个基于window对象的全局属性:componentsConfig
*此处的代码你可以放在任意你觉得方便的地方即可,放在别的js文件也可,此处为了方便就放
*这里
*/
window.componentsConfig = {    //左边是key值,右边是组件的引入路径
     'test1': './test1.vue',
     'test2': './test2.vue',
     'test3': './test3.vue',
     'test4': './test4.vue',
}

// 因为不知道组件名以及路径,那么此处无法使用import语句
//import inputC from './inputC'
export default {
  components:{
   // inputC,             //因为无法import组件,所以组件列表这里也无法配上组件名
  },
 data () {
    return {
      childParams: {},
     }
  },
computed:{
    NextTickName: function (){
      let map = window.componentsConfig;
      if(this.targetComponent){
        let k = this.targetComponent;       // 组件映射关系key值
        let p = map[k];        // 通知k值读取到路径信息
        let c = () => import(`${p}`);          // 动态组件
    
        return c
      }
    }
  },
}


4、以下为不可copy的代码截图解释:


image.png

相关文章

  • vue动态组件动态引入

    1、先来看一段常规的组件引入和使用: 1、可copy的代码展示 2、不可copy的代码截图解释: 2、接下来为动态...

  • 本期小结(一)

    vue★ Vue中引入jQuery vue使用element-ui vue的v-cloak使用 vue动态组件 v...

  • Vue项目 动态引入组件

    最近有一个同事在问,想着就顺便发一个教程,很老的方法了。 这个非常实用,也非常简单的,看一下就会,就不多说了直接看...

  • vue 路由

    路由:动态的往根组件挂载不同的组件 安装vue-router 在mian.js 中引入并Vue.use('VueR...

  • vue常识

    ```javascript 1. vue引入的子组件,需要以特定的名称才能被动态组件识别 实现:通过 import...

  • vue动态组件与插槽

    什么是动态组件 动态组件指的是动态切换组件的显示与隐藏 实现动态组件渲染 vue 提供了一个内置的

  • Vue动态组件

    1、什么是动态组件? 动态组件指的是动态切换组件的显示与隐藏 2、如何实现动态组件渲染? vue提供了一个内置的<...

  • vue-动态组件

    1. 什么是动态组件 动态组件指的是动态切换组件的显示与隐藏。 2. 如何实现动态组件渲染 vue 提供了一个内置...

  • vue的动态组件 keep-alive

    1. 什么是动态组件 动态组件指的是 动态切换组件的显示与隐藏 2. 如何实现动态组件渲染 vue提供了一个内置的...

  • vue-awesome-swiper结合echarts的那些坑~

    前题 vue项目中引用vue-awesome-swiper轮播组件通过动态组件动态加载Echarts绘成的图形,进...

网友评论

      本文标题:vue动态组件动态引入

      本文链接:https://www.haomeiwen.com/subject/tykgtltx.html