Vue学习笔记(10)-Vue中的组件(1)
Vue中的组件
1.什么是组件?
- 组件的理解: 用来实现局部(特定)功能效果的代码集合(html/css/js/image…..)
下面用两张图片来对比传统编码和组件编码
2.Vue中组件分为非单文件组件和单文件组件
- 1.非单文件组件(一般不常用):
- 1.模板编写没有提示
- 2.没有构建过程, 无法将ES6 转换成ES5
- 3.不支持组件的CSS
- 4.真正开发中几乎不用
- 2.单文件组件:
1. 模板页面
<template>
页面模板
</template>2. JS 模块对象
<script>
export default {
data() {return {}},
methods: {},
computed: {},
components: {}
}
</script>3. 样式
<style>
样式定义
</style>
3.Vue中组件的基本使用(展示非单文件组件,用于学习)
1.Vue中使用组件的三大步骤:
- 一、定义组件(创建组件)
- 二、注册组件
- 三、使用组件(写组件标签)
- 一、如何定义一个组件?
- 使用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但也有点区别;
- 区别如下:
- 1.el不要写,为什么? ——— 最终所有的组件都要经过一个vm的管理,由vm中的el决定服务哪个容器。
- 2.data必须写成函数形式,为什么? ———— 避免组件被复用时,数据存在引用关系。
- 备注:使用template可以配置组件结构。
- 区别如下:
- 使用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但也有点区别;
- 二、如何注册组件?
- 1.局部注册:靠new Vue的时候传入components选项
- 2.全局注册:靠Vue.component(‘组件名’,组件)
- 三、编写组件标签:
<!-- <组件名></组件名> -->
<!-- 例如:组件名为:school -->
<school></school>
- 一、如何定义一个组件?
代码解析:
<body> |
运行结果展示:
2.注意事项:
- 1.关于组件名:
- 一个单词组成:
- 第一种写法(首字母小写):school
- 第二种写法(首字母大写):School
- 多个单词组成:
- 第一种写法(kebab-case命名):my-school
- 第二种写法(CamelCase命名):MySchool (需要Vue脚手架支持)
- 备注:
- (1).组件名尽可能回避HTML中已有的元素名称,例如:h2、H2都不行。
- (2).可以使用name配置项指定组件在开发者工具中呈现的名字。
- 一个单词组成:
- 2.关于组件标签:
- 第一种写法:
- 第二种写法:
- 备注:不用使用脚手架时,
会导致后续组件不能渲染。
- 第一种写法:
- 3.一个简写方式:
- const school = Vue.extend(options) 可简写为:const school = options
3.定义组件的简写形式以及组件名称属性的设置:
//定义组件(简写形式) |
运行结果展示:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库