VUE实现动态注册组件

VUE动态注册组件

1、为什么要动态注册

我们在一些开发中,组件的使用并不是固定的,需要根据配置或者请求的数据去动态渲染某个组件,如果不动态渲染则需要去开发很多重复且冗余的页面

2、怎样实现功能

通过vue的component,代码如下:

/**
     * @desc 统一加载注册组件资源
     */
    registerComponent(templateName) {
      var directory = this.indicator.legacy?'custom':'charts';
      Vue.component(
        templateName,
        require("@/components/"+directory+"/" + templateName + ".vue").default
      );
    },

因为我的目录也是通过参数配置的,所以用了一个三元表达式判断该组件是在那个目录,在使用的时候调用这个方法即可

posted @ 2021-03-17 20:11  wangchangzhi  阅读(2366)  评论(0编辑  收藏  举报