创建组件01

Vue组件的创建和使用

创建格式

1

< template >标签< /template >

2

< script > < /script >

3

< style > < /style >

javascript 复制代码
	
	<template>
	  	<div>
	    <h1>组件导入</h1>
	    <div class="box">
	    <h3>标题 <button @click="show=!show">{{ show?'y':'n' }}</button></h3>
	      <ul v-show="show">
	        <li>xxxx</li>
	        <li>xxxx</li>
	      </ul>
	    </div>
	  </div>
	</template>
	
	<script>
	export default {
	  data(){
	    return{
	      show:true,
	    }
	  }
	}
	</script>
	
	<style>
	  .box {
	    border: 1px solid #000;
	  }
	</style>
	

使用组件的四步

创建组件,封装要复用的标签、样式、JS代码

把独立的组件封装一个.vue文件中,推荐放到components文件夹

在components文件夹里面创建组件文件 XxxXxx.vue

javascript 复制代码
	//1
	<template>
	  <div>
	  //封装组件
	    <div class="box">
	      <h3>
	        标题 
	       <button @click="show = !show">{{ show ? "hot" : "cold" }}</button>
	      </h3>
	      <ul v-show="show">
	        <li>xxxx</li>
	        <li>xxxx</li>
	        <li>xxxx</li>
	        <li>xxxx</li>
	      </ul>
	    </div>
	  </div>
	</template>
	//2
	<script>
			export default {
			  data() {
			    return {
			      show: true,
			    };
			  },
			};
	</script>
	//3
	<style>
			.box {
			  border: 1px solid #000;
			}
	</style>

引入组件

javascript 复制代码
	<script>
		//引入
		import cpt1 from "./components/01-cpt.vue"
			export default {
			  // 注册小组件
			  components:{
			    // 自己定义组件名:导入变量名
			    //cpt1:cpt1,
			    cpt1,
			  }
			}
	</script>

注册组件

1. 全局注册 Vue.component("组件名",组件)

javascript 复制代码
	
	import cpt2 from"./components/02-cpt";//导入
	//import 组件对象 from 'vue文件路径'
	//全局注册
	Vue.component("cpt2",cpt2);
	//Vue.component("组件名",组件对象)
	

2. 局部注册:XxxXxxx.vue文件中 components:{ }

javascript 复制代码
	<script>
		import cpt1 from "./components/01-cpt.vue"
		export default {
		  // 全局注册 注册小组件
		  components:{
		    // 自己定义组件名:导入变量名(组件对象)
		    //cpt1:cpt1,
		    cpt1,
		  }
		}
	</script>
	

使用组件

命名最好使用驼峰,例如 HmHeader 和 HmMain

注册使用短横线命名法,例如 hm-header 和 hm-main
使用时 < hm-button> < /hm-button>
组件名可使用 :
双标签:<组件名></组件名>
单标签: < XxxXxxx />

注意:

组件名不能和内置的html名相同

javascript 复制代码
	
	<template>
	  <div>
	    <h1>组件导入</h1>
	    <cpt1></cpt1>
	    <cpt1></cpt1>
	  </div>
	</template>
	
相关推荐
疯狂的沙粒5 分钟前
Vue 前端大屏做多端屏幕适配时,如何让其自动适配多种不同尺寸的屏幕?
前端·javascript·vue.js
范小多9 分钟前
24小时学会Python Visual code +Python Playwright通过谷歌浏览器取控件元素(连载、十一)
服务器·前端·python
ooolmf9 分钟前
matlab2024读取温度01
java·前端·javascript
打工人小夏11 分钟前
前端vue3项目使用nprogress动画组件,实现页面加载动画
前端
一颗宁檬不酸12 分钟前
前端农业商城中产品产地溯源功能的实现
前端
李少兄20 分钟前
深入理解前端中的透视(Perspective)
前端·css
席之郎小果冻21 分钟前
【03】【创建型】【聊一聊,单例模式】
开发语言·javascript·单例模式
江公望29 分钟前
HTML5 History 模式 5分钟讲清楚
前端·html·html5
云和数据.ChenGuang36 分钟前
Zabbix Web 界面安装时**无法自动创建配置文件 `zabbix.conf.php`** 的问题
前端·zabbix·运维技术·数据库运维工程师·运维教程
码界奇点39 分钟前
Java Web学习 第15篇jQuery万字长文详解从入门到实战解锁前端交互新境界
java·前端·学习·jquery