首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法全局注册组件VUE 3

无法全局注册组件VUE 3
EN

Stack Overflow用户
提问于 2022-05-31 15:39:51
回答 2查看 258关注 0票数 2

我有一个可重用的按钮,我想将它呈现为一个单独的组件@/components/UI/MyButton‘。这个元素我在'UI/index.js‘中注册

代码语言:javascript
复制
import MyButton from "@/components/UI/MyButton";

export default {
  MyButton,
};

然后,我通过'main.js‘中的а或orEach方法进行全局注册。

代码语言:javascript
复制
import { createApp } from "vue";
import App from "./App";
import componentsUI from "./components/UI";

const app = createApp(App);

componentsUI.forEach((component) => {
  app.component(component.name, component);
});

app.mount("#app");

但是方法forEach会导致错误--forEach不是函数“,并且项目没有呈现。如果我不使用此方法,则该按钮将呈现,但没有样式。

如何在全球范围内注册可重用组件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-31 15:47:48

UI/index.js中,尝试导出数组[]而不是对象{}

代码语言:javascript
复制
import MyButton from "@/components/UI/MyButton";

export default [
  MyButton,
];
票数 1
EN

Stack Overflow用户

发布于 2022-05-31 18:46:35

试试这个:

在components目录中,创建基本文件夹,然后创建_index.js。

代码语言:javascript
复制
// components/base/_index.js

const requireComponent = require.context(
  // The relative path of the components folder
  './',
  // Whether or not to look in subfolders
  false,
  // The regular expression used to match base component filenames
  /[A-Z]\w+Base\.vue$/
);

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

    const componentName = fileName
      .split('/')
      .pop()
      ?.replace(/\.\w+$/, '');

    app.component(componentName, componentConfig.default || componentConfig);
  });
};

export default {
  register,
};

Button组件名称必须如下(基于regex):ButtonBase.vue

代码语言:javascript
复制
// main.js

import { createApp } from 'vue';
import App from './App.vue';
import BaseComponents from './components/base/_index';

const app = createApp(App);

BaseComponents.register(app);

app.mount('#app');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72450626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档