首页 > 其他分享 >【vue3入门】-【20】组件注册方式

【vue3入门】-【20】组件注册方式

时间:2024-05-07 23:15:07浏览次数:23  
标签:vue 20 Header 注册 vue3 组件 import 全局

组件注册方式

一个vue组件在使用前需先被“注册”,这样vue才能在渲染模版是找到其对应的实现。组件注册有两种方式:全局注册和局部注册

  • 全局注册

在最外层注册一次,在最内层组件都能使用

image

main.js

import { createApp } from 'vue'
import App from './App.vue'
import Header from './pages/header.vue'


const app = createApp(App)

// 在这中间写组件的注册
// 注册之后,则该组件可以被全局使用
app.component("Header",Header)

app.mount('#app')

App.vue

<template>
  <!--主要要生效Header中的样式,需要删除main.json中默认的main.css样式-->
  <Header />  <!--不需要再次引入,可以直接使用全局的组件-->
  <Main />
  <Aside />
</template>
<script>
// import Header from './pages/header.vue'

import Main from './pages/main.vue'
import Aside from './pages/aside.vue'
    
// 局部注册的形式
export default {
  components: {
    // Header,
    Main,
    Aside
  }
}
</script>
<style></style>
  • 局部注册

在某一个组件内引入,然后再使用,在其他组件中不能被使用,更被推荐使用

全局注册虽然很方便,但是还有一下几个问题;

  1. 全局注册,但并没有被使用的组件无法再生产打包时被自动移除(也叫“tree-sharkin”)。如果全局注册了一个组件,即使它没有被实际使用,它仍然会出现在打包后的js文件中
  2. 全局注册在大型项目中使项目的依赖关系变得不那么明确。在父组件中使用子组件是,不太容易定位子组件的实现。和使用过多的全局变量一样,这可能会影响应用长期的可维护性

局部注册需要使用components选项

以上内容出自
【【2023最新版】Vue3从入门到精通,零基础小白也能听得懂,写得出,web前端快速入门教程】 https://www.bilibili.com/video/BV1Rs4y127j8/?share_source=copy_web&vd_source=94c3d5330a46438059359e8dd2494fe9

标签:vue,20,Header,注册,vue3,组件,import,全局
From: https://www.cnblogs.com/T-Ajie/p/18178651

相关文章

  • 【vue3入门】-【21】 组件传递数据
    组件传递数据_Props静态数据传递组件与组件之间不是完全独立的,而是有交集的,那就是组件与组件之间是可以传递数据的传递数据的解决方案就是propsapp.vue<template><!--主要要生效Header中的样式,需要删除main.json中默认的main.css样式--><!--不需要再次引入,可以直接使......
  • G120C制动电阻设置
    大功率G120取消了内置制动单元,需要能耗制动时可引出直流母线,外接第三方制动单元。G120C内置有制动单元,制动电阻相关参数设置:https://www.ad.siemens.com.cn/service/answer/solved_294283_1096.htmlP219=制动电阻的峰值功率。P219设置完毕,P1240/P1280参数自动修改,自动禁止Vd......
  • 【vue3入门】-【22】 组件事件
    组件事件在组件的模版表达式中,可以直接使用$emit方法触发自定义事件触发自定义事件的目的是组件之间传递数据,通过组件事件可以实现子级传递参数给父级App.vue<template><ComponentEvent/></template><script>importComponentEventfrom"./components/componentEvent.......
  • 2024-05-07 js定义类的方法
    一:传统写法//定义:functionhandleDate(date){this.idate=newDate(date).getTime();console.log(this.idate);this.resolveDate=function(){console.log('resolveDate',this.idate);}}//使用:constgetDate=newhandleDate('2020-02-0220:20:......
  • CVPR 2024 | 字节提出视觉基础模型:ViTamin,实现多项SOTA!
    前言 视觉语言模型屡屡出现新突破,但ViT仍是图像编码器的首选网络结构。字节提出新基础模型——ViTamin,专为视觉语言时代设计。本文转载自量子位(QbitAI)仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘......
  • 2024.5.7
    所学时间:2小时代码行数:81博客园数:1篇所学知识:张雨锟与我完成了一部分的前端页面的撰写,张雨锟负责测试,我负责写前端页面,我通过写js文件和jsp文件做出了基本的盒子模型,完成了页面的大致走向。通过我的测试,完成了前端页面盒子的创建,可以在一个页面内呈现出西线路查询,路线查询,站点......
  • 2024/5/7
    王瑞与我完成了一部分的前端页面的撰写,王瑞负责测试,我负责写前端页面,我通过写js文件和jsp文件做出了基本的盒子模型,完成了页面的大致走向。通过我的测试,完成了前端页面盒子的创建,可以在一个页面内呈现出西线路查询,路线查询,站点查询等。我们完成了结对作业的前端全部页面,完成了线路......
  • YC284A [ 2024054 CQYC省选模拟赛 T1 ] 数数(count)
    题意现在有四种物品,分别有\(n1,n2,n3,n4\)个,有多少种排列物品的方案使得任意两个相邻物品的种类不同。\(0\len1,n2\le500,0\len3,n4\le5\times10^4\)Sol注意到\(n1\),\(n2\)特别小。设四个物品分别为\(C,D,A,B\)。考虑先插入\(C,D\),再考虑\(A,......
  • vs2022+Qt开发环境
    1.vs2022拓展安装拓展-》管理拓展,搜索qt,安装如下图所示两个拓展QtVSTools、QtVsCMakeTools(可选)。 安装拓展包需要关闭vs,在弹出来的installer窗口点击modify安装,可能需要endtask,问题不大,常规安装套路。2、设置参数再次打开VS后,看看下面提示,不要忘了安装Q......
  • Leetcode --- 203. 移除链表元素
    题目描述给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val==val 的节点,并返回 新的头节点 。示例1: 示例输入:head=[1,2,6,3,4,5,6],val=6输出:[1,2,3,4,5]输入:head=[7,7,7,7],val=7输出:[]参考实现方式1、使用递归实现......