当我们使用 vue 时,通常会在另一个组件中注册一个组件。在本教程中,我们将了解如何在 Vue 中全局注册一个组件,这样您就不必再次在组件中引用 is ——相反,您可以直接在<template>
标签中使用它。
如果您是 Vue 新手,请在开始之前查看我们关于创建您的第一个 Vue 应用程序的指南。
在 Vue 中注册组件#
在 Vue 中看到这样的情况是很正常的,其中一个组件在另一个组件中注册,以便在<template>
标签内使用:
<template>
<MyComponent />
</template>
<script>
import MyComponent from '../components/MyComponent.vue';
export default {
name: "ParentComponent",
components: {
MyComponent
}
}
</script>
这对于应用程序中可能不需要的组件很有用,但是拥有一个在应用程序中几乎所有地方都使用的组件是很正常的。为了避免在每个文件中引用它,您可以改为全局注册它。
如何在 Vue 中全局注册一个组件#
要在 vue 中全局注册组件,请打开您的main.js
文件。您应该看到如下内容:
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')
当我们要在 Vue 中全局注册一个组件时,需要在这个文件中进行。您所要做的就是像往常一样导入组件,然后使用app.component
.
import { createApp } from 'vue'
import App from './App.vue'
// Import your component
import MyComponent from '../components/MyComponent.vue';
// Your app
const app = createApp(App);
// Globally register your component
app.component('MyComponent', MyComponent);
// Mount your app
app.mount('#app');
现在我们可以在 Vue 应用程序的任何地方引用我们的<MyComponent />
组件。app.component()
有两个参数——第一个是我们给组件的名称,第二个是导入的组件。
因此,我们现在可以将原始代码简化为:
<template>
<MyComponent />
</template>
<script>
export default {
name: "ParentComponent"
}
</script>