创建组件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>
	
相关推荐
小霖家的混江龙6 分钟前
巧用辅助线,轻松实现类拼多多的 Tab 吸顶效果
前端·javascript·react.js
q***235718 分钟前
Spring Boot+Vue项目从零入手
vue.js·spring boot·后端
A***279520 分钟前
前端路由管理最佳实践,React Router
前端·react.js·前端框架
恋猫de小郭24 分钟前
Snapchat 开源全新跨平台框架 Valdi ,一起来搞懂它究竟有什么特别之处
android·前端·flutter
艾小码24 分钟前
还在为异步组件加载烦恼?这招让你的Vue应用更丝滑!
前端·javascript·vue.js
几何心凉4 小时前
openGauss:多核时代企业级数据库的性能与高可用新标杆
前端·数据库·数据库开发
AiXed6 小时前
PC微信协议之AES-192-GCM算法
前端·数据库·python
AllData公司负责人6 小时前
实时开发平台(Streampark)--Flink SQL功能演示
大数据·前端·架构·flink·开源
小满zs7 小时前
Next.js第五章(动态路由)
前端
清沫7 小时前
VSCode debugger 调试指南
前端·javascript·visual studio code