组件:注册、嵌套、命名与渲染顺序

组件就是一个「带自己模板的小应用」。用 app.component('名字', { template }) 注册后,页面里就能像 HTML 标签一样用它(<hello-badge>)。 组件的模板里还能再写别的组件,于是形成「组件树」。下面四个现场:注册与嵌套、注册时机、命名与保留名坑、真实的 setup/mounted 顺序。

速查:三种注册方式

方式怎么写作用范围适用场景
全局注册app.component('hello-badge', {...})(在 mount 之前)整个应用任意模板都能用通用小部件(徽章、按钮、图标)
局部(components 选项){ components: { HelloBadge }, template: '<HelloBadge/>' }只有声明它的那个组件能用SFC 里最常用,谁用谁引,利于 tree-shaking
动态 / 异步const m = await import('./Heavy.js'); app.component('Heavy', m.default)按需大组件懒加载、运行时才决定的组件
[迷你控制台] Vue 开发版的警告会同时显示在这里和浏览器控制台