Vue学习教程-18Vue单文件组件

文章目录


前言

Vue 单文件组件(又名 *.vue 文件,缩写为 SFC )是一种特殊的文件格式,它允许将 Vue 组件的模板逻辑 样式封装在单个文件中。组件最大的优势就是可复用性


一、单文件组件的构成

vue组件基本包括以下几个方面:

  1. 模板页面
  2. js模块
  3. 样式
html 复制代码
<!--模板 -->
<template>
    <h3>单文件组件</h3>
</template>
<!--js模块 -->
<script>
export default {
    name:"MyComponent"
}
</script>
<!--样式 -->
<style scoped>
h3{
    color: red;
}
</style>

二、组件引用

第一步:导入组件 import MyComponentVue from ./components/MyComponent.vue'

第二步:注册组件 components: { MyComponentVue }

第三步:引用组件标签 <MyComponentVue />

三、组件的应用举例

1.组件实例

定义两个组件 schoo.vue和student.vue

school.vue

html 复制代码
<template>
	<!-- 组件的结果 -->
	<div class="demo">
		<h2>学校名称:{{name}}</h2>
		<h2>学校地址:{{address}}</h2>
		<button @click="showName">点我提示学校名</button>	
	</div>
</template>

<script>
	//组件的交互
	 export default {
		name:'School',
		data(){
			return {
				name:'vue学院',
				address:'上海黄浦区'
			}
		},
		methods: {
			showName(){
				alert(this.name)
			}
		},
	}
</script>

<!-- 组件的样式 -->
<style>
	.demo{
		background-color: orange;
	}
</style>

student.vue

html 复制代码
<template>
	<div>
		<h2>学生姓名:{{name}}</h2>
		<h2>学生年龄:{{age}}</h2>
	</div>
</template>

<script>
	 export default {
		name:'Student',
		data(){
			return {
				name:'张三',
				age:18
			}
		}
	}
</script>

在根组件App.vue 组件中,

①导入import组件

②注册组件

③引用组件标签

App.vue

c 复制代码
<template>
	<div>
		<!-- 引用组件标签 -->
		<School></School>
		<Student></Student>
	</div>
</template>

<script>
	// 导入组件
	import School from './School.vue'
	import Student from './Student.vue'

	export default {
		name:'App',
		// 注册组件
		components:{
			School,
			Student
		}
	}
</script>

2.显示结果


相关推荐
像风一样自由20201 小时前
HTML与JavaScript:构建动态交互式Web页面的基石
前端·javascript·html
浪裡遊2 小时前
React Hooks全面解析:从基础到高级的实用指南
开发语言·前端·javascript·react.js·node.js·ecmascript·php
好好研究2 小时前
学习栈和队列的插入和删除操作
数据结构·学习
幽络源小助理2 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
新中地GIS开发老师3 小时前
新发布:26考研院校和专业大纲
学习·考研·arcgis·大学生·遥感·gis开发·地理信息科学
SH11HF4 小时前
小菜狗的云计算之旅,学习了解rsync+sersync实现数据实时同步(详细操作步骤)
学习·云计算
Liudef064 小时前
2048小游戏实现
javascript·css·css3
Frank学习路上4 小时前
【IOS】XCode创建firstapp并运行(成为IOS开发者)
开发语言·学习·ios·cocoa·xcode
鱼樱前端5 小时前
今天介绍下最新更新的Vite7
前端·vue.js
Chef_Chen5 小时前
从0开始学习计算机视觉--Day07--神经网络
神经网络·学习·计算机视觉