美文网首页
解决每个组件里面引入子组件问题

解决每个组件里面引入子组件问题

作者: 神话降临 | 来源:发表于2018-04-17 15:55 被阅读0次

大家想一下一个场景
我们有一个组件,但是它里面有用到了别的组件
那我们常用的办法就是


<script>
  import  child form '...'
  export default {
      components: {
          child,
          }
     }
</script>

上面的大家应该都是会的,就不赘述了

但是在做项目的时候我们会有很多的组件里面包含子组件,这个时候我们就需要在每个组件里面做一次上面的操作,感觉就是很繁琐。

下面我们就讲一下如何避免上面的繁琐操作,又同样能达到目的

下面我就以vue-cli为架子说我是怎么操作的
第一步.首先在components下面新建一个js文件,我把它命名为quoteComponents.js

//quoteComponents.js
import Vue from 'vue'
/*
*  转换组件名首字母大写
*/
function capitalizeFirstLetter(string) {
      return  string.charAt(0).toUpperCase() + string.slice(1);
}
/* webpack神器的require.context()方法
*   require.context(param1,param2,param3)方法来创建自己的(模块)上下文,从而实现自动动态require组件
 *  param1        表示从哪个文件下面加载组件
 *  param2        表示是否从param1下面的子文件下面加载组件
 *  param3        表示一个匹配文件的正则表达式
*/
const requireComponent = require.context(
  './page', false, /\.vue$/
  //找到components文件夹下以.vue命名的文件
)

requireComponent.keys().forEach(fileName => {
  const componentConfig = requireComponent(fileName)

  const componentName = capitalizeFirstLetter(
    fileName.replace(/^\.\//, '').replace(/\.\w+$/, '')
    //因为得到的filename格式是: './baseButton.vue', 所以这里我们去掉头和尾,只保留真正的文件名
  )

  Vue.component(componentName, componentConfig.default || componentConfig)
})

第二步 在mian.js里面下面引入上面的js,具体路径以自己实际路径为准

 //main.js
  import './components/global.js'

第三步 使用
比如我有一个父组件father.vue,一个组件child.vue

//child.vue
<template>
  <div>
     我是子组件
  
  </div>
</template>
//father.vue
   <div>
        我是父组件
      //注意下面的组件名要大写
      <Child></Child>
    </div>

ok大功告成

相关文章

  • 解决每个组件里面引入子组件问题

    大家想一下一个场景我们有一个组件,但是它里面有用到了别的组件那我们常用的办法就是 上面的大家应该都是会的,就不赘述...

  • 组件间的使用

    在APP里面引入这些子组件 1.引入组件组件结果 一,父组件向子组件传值 在子组件里使用props选项 父组件中使...

  • Angular笔记 父子组件传值

    一、子组件获取父组件值 在子组件ts里面引入Input。 子组件声明Input属性。 子组件调用。 子组件 ts中...

  • 2019-02-13 vue组件引用的问题

    在某个组件里面引入另一个组件,引入的这个组件中的所有内容都被引入了?那如果父组件里面的data值与子组件里面的da...

  • 使用ts搭建一个react class组件

    在父组件中给子组件传参在父组件中引入子组件,然后直接传入参数,子组件通过React.Component ,它里面的...

  • vue组件之间的数据传递--随记

    1.父组件与子组件之间的数据传递 首先:父组件里面引入了子组件,举个例子,父组件是A,子组件是B,A需要 impo...

  • vue强制刷新子组件的数据

    一、问题:在父组件里面加载了自定义的子组件,父组件添加数据后,子组件的数据怎么跟着刷新??? 二、解决方法: 1、...

  • Vue.js 组件通信

    一.、父传子 父组件引入子组件子组件 在 props 定义需要接收的数据 二、子传父 父组件引入子组件子组件 t...

  • vue ref 获取子组件属性值

    父引入、注册组件并调用组件 引入、注册 调用组件 调用子组件的函数 调用子组件的属性

  • element图片

    插入子组件 引入子组件并使用

网友评论

      本文标题:解决每个组件里面引入子组件问题

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