在Vue中,开发者可以将页面中独立的、可重用的部分封装成组件,对组建的结构、样式和行为进行设置。组件是Vue的基本结构单元,组件之间可以相互引用。
注册组件
当在Vue项目中定义了一个新的组件后,要想在其他组件中引用这个新的组件,需要对新的组件进行注册。在注册组件的时候,要给组件取一个名字,从而区分每个组件,可以采用帕斯卡命名法(PascalCase)为组件命名。
Vue提供了两种注册组件的方式,分别是全局注册和局部注册。接下来分别进行讲解
1.全局注册
在实际开发中,如果某个组件的使用频率很高,许多组件中都会引起该组件,则推荐将该组件全局注册。被全局注册的组件可以在当前Vue项目的任何一个组件内引用。
在Vue项目的是src\main.js文件中,通过Vue应用实例的component()方法可以全局注册组件,该方法的语法格式如下:
component('组件名称',需要被注册的组件)
上述语法格式中,component()方法接收两个参数,第一个参数为组件名称,注册完成后即可全局使用该组件名称,第二个参数为需要被注册的组件。
例如,在src\main.js文件中注册一个全局组件MyComponent,示例如下:
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import MyComponent from './components/MyComponent.vue'
const app = createApp(App)
app.component('MyComponent',MyComponent)
app.mount('#app')
上述代码中,第四行用于导入MyComponent组件;第五行用于创建Vue应用实例;第六行用于将MyComponent组件注册为全局组件。
component()方法支持链式调用,可以连续注册多个组件,示例:
app.component('ComponentA',ComponentA)
.component('ComponentB',ComponentB)
.component('ComponentC',ComponentC)
2.局部注册
在实际开发中,如果某些组件只在特定情况下被用到,推荐进行局部注册。局部注册即在某个组件中注册,被局部注册的组件只能在当前注册范围内使用。例如,在组件A中注册了组件B,则组件B只能在组件A中使用,不能在组件C中使用。
局部注册的示例如下:
<script>
import ComponentA from './ComponentA.vue'
export default {
components:{ ComponentA : ComponentB }
}
</script>
在上述代码中,第四行用于将ComponentA组件局部注册到党建组件中。其中,冒号前面的ComponentA是局部注册的组件名称,冒号后面的ComponentA是组件本身。由于冒号前后代码相同,所以可以将{ ComponentA:ComponentA }简写为{ ComponentA }。
在使用setup语法糖时,导入的组件会被自动注册,无须手动注册,导入后可以直接在模板中使用,示例如下:
<script setup>
import ComponentA from './ComponentA.vue'
<script>
上述代码完成了ComponentA组件的导入和注册