欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Vue组件:创建组件、注册组件、使用组件

Vue组件:创建组件、注册组件、使用组件

2024/10/25 4:26:07 来源:https://blog.csdn.net/pan_junbiao/article/details/141819460  浏览:    关键词:Vue组件:创建组件、注册组件、使用组件

1、创建组件

组件(component)是 Vue.js 最强大的功能之一。通过开发组件可以封装可服用的代码,将封装好的代码注册成标签,扩展 HTML 元素的功能。几乎任意类型应用的界面都可以抽象为一个组件树,而组件树可以用独立可复用的组件来构建。

组件是 Vue 自定义的一种文件,以 .vue 作为文件的后缀名。

创建组件的语法格式:

<!-- 组件的内容 -->
<template></template><!-- 组件的脚本 -->
<script>
export default {}
</script><!-- 组件的样式 -->
<style scoped></style>

【实例】创建 MyComponent.vue 组件文件,实现用户信息的显示。

<template><p class="b-name">博客信息:{{blogName}}</p><p class="b-url">博客地址:{{blogUrl}}</p>
</template><script>
export default {data() {return {blogName: '您好,欢迎访问 pan_junbiao的博客',blogUrl: 'https://blog.csdn.net/pan_junbiao'}}
}
</script><style scoped>.b-name{font-size: 26px;color: red;}.b-url{font-size: 24px;color:blue;}
</style>

项目目录结果如下图:

2、注册组件

在使用组件之前需要将组件注册到应用中。Vue.js 提供了两种注册方式,分别是局部注册和全局注册,下面分别进行介绍。

2.1 注册局部组件

通过 Vue 实例中的 components 选项可以注册一个局部。对于 components 对象中的每个属性来说,其属性就是定义组件的名称,其属性值就是这个组件的选项对象。

【实例】在 App.vue 根组件中,注册局部组件。

<template><!-- 第三步:使用组件 --><MyComponent />
</template><script>
//第一步:引用组件
import MyComponent from './components/MyComponent.vue'export default {//第二步:注册组件components: {MyComponent,}
}
</script>

执行结果:

2.2 注册全局组件

全局注册的组件也叫全局组件。

注册一个全局组件的语法格式如下:

app.component(tagName, options)

参数的说明如下:

tagName:表示定义的组件名称。

options:表示组件的选项对象。

【实例】创建并注册一个全局组件。

(1)创建 GlobalComponent.vue 全局组件

<template><h1>我是一个全局组件</h1>
</template>

(2)在 main.js 文件中,注册全局组件

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
//第一步:引用组件
import GlobalComponent from './components/GlobalComponent.vue'const app = createApp(App);app.use(router);//第二部:注册全局组件
app.component("GlobalComponent", GlobalComponent);app.mount('#app');

(3)在 App.vue 根组件中,使用全局组件

<template><!-- 第三步:使用组件 --><GlobalComponent /><MyComponent />
</template>

执行结果:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com