关于 vue3 基础学习,前面两篇博客讲了单页面应用程序、vite 的基本使用 。
这期就来一篇多一点的吧!这期主要内容有:组件化开发思想、vue 组件的构成、组件的基本使用、封装组件的案例。
看完这些,砸门也就详细了解什么是组件了。废话不多说,直接上刺刀!!
目录
组件化开发指的是:根据封装的思想,把页面上可重用的部分封装为组件,从而方便项目的开发和维护。例如:ibootstrap - Bootstrap可视化布局系统 所展示的效果,就契合了组件化开发的思想。用户可以通过拖拽组件的方式,快速生成一个页面的布局结构。
前端组件化开发的好处主要体现在以下两方面:
提高了前端代码的复用性和灵活性
提升了开发效率和后期的可维护性
vue 是一个完全支持组件化开发的框架。vue 中规定组件的后缀名是 .vue。之前接触到的 App.vue 文件本质上就是一个 vue 的组件。
每个 .vue 组件都由 3 部分构成,分别是:
template -> 组件的模板结构
script -> 组件的 JavaScript 行为
style -> 组件的样式
其中,每个组件中必须包含 template 模板结构,而 script 行为和 style 样式是可选的组成部分。
vue 规定:每个组件对应的模板结构,需要定义到 节点中。
- <template>
-
- template>
注意: 是 vue 提供的容器标签,只起到包裹性质的作用,它不会被渲染为真正的 DOM 元素。
在组件的 节点中,支持使用前面所学的指令语法,来辅助开发者渲染当前组件的 DOM 结构。
代码示例如下:
- <template>
- <div class="app-container">
- <h1>App根组件h1>
- <hr>
- <my-header title="星月" bgcolor="#f40" color="#fff">my-header>
- div>
- template>
在 vue 2.x 的版本中, 节点内的 DOM 结构仅支持单个根节点:
- <template>
- <div>
- <h1>App根组件h1>
- <hr>
- <my-header title="星月" bgcolor="#f40" color="#fff">my-header>
- div>
- template>
但是,在 vue 3.x 的版本中, 中支持定义多个根节点:
- <template>
- <h1>App根组件h1>
- <my-header title="星月" bgcolor="#f40" color="#fff">my-header>
- template>
vue 规定:组件内的