创建组件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>
	
相关推荐
牛奶23 分钟前
Vue 基础理论 & API 使用
前端·vue.js·面试
牛奶28 分钟前
Vue 底层原理 & 新特性
前端·vue.js·面试
anOnion1 小时前
构建无障碍组件之Radio group pattern
前端·html·交互设计
pe7er1 小时前
状态提升:前端开发中的状态管理的设计思想
前端·vue.js·react.js
SoaringHeart2 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox
前端·flutter
晚风予星2 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Token
前端·react.js·visual studio code
sunny_3 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件
前端·webpack·架构
GIS之路3 小时前
ArcPy 开发环境搭建
前端
林小帅4 小时前
【笔记】OpenClaw 架构浅析
前端·agent
林小帅5 小时前
【笔记】OpenClaw 生态系统的多语言实现对比分析
前端·agent