uniapp组件的创建和使用

创建组件文件夹

项目根目录下创建components文件夹

创建组件文件

根目录下的组件文件夹如果只是h5和app的话,随便取名就行,例如components文件夹

各大小程序可以参考如下官方给出的目录名

js 复制代码
┌─wxcomponents                  微信小程序自定义组件存放目录
│   └──custom.vue                   微信小程序自定义组件
│
├─mycomponents                  支付宝小程序自定义组件存放目录
│   └──custom.vue                   支付宝小程序自定义组件
│
├─swancomponents                百度小程序自定义组件存放目录
│   └──custom.vue                   百度小程序自定义组件
├─pages
│  └─index
│		└─index.vue
│
├─static
├─main.js
├─App.vue
├─manifest.json
└─pages.json

因为我这个项目要兼容微信小程序和h5以及app的,h5和app任意就行,微信小程序需要为wxcomponents,因此我这里在根目录下创建wxcomponents文件夹

右键wxcomponents文件夹,点击新建组件,我这里起名叫mycomVue点击创建即可,内容如下:

我这里是vue3版本的setUp语言,vue2的换成vue2的语法就好

js 复制代码
<template>
	<button @click="btnClick">点击向父组件发送数据</button>
	<text>父组件传来的数据为:{{num}}</text>
</template>

<script setup>
	import {
		defineEmits,
		defineProps
	} from 'vue';
	const props = defineProps(['num']) // 这里接收的是父组件向子组件发送的数据

	// 子组件享父组件发送事件
	const emit = defineEmits(['customClick']);
	const btnClick = () => {
		emit('customClick', '我是子组件');
	};
</script>

<style>
</style>

页面引入

pages/index/index.vue使用该组件

js 复制代码
<template>
	<div>
		<button @click="hahaha">跳转</button>
		<!-- 给子组件传递数据num为1 -->
		<mycomVue num="1" @customClick="customClick"></mycomVue>
	</div>
</template>

<script setup>
	import mycomVue from '../../wxcomponents/mycom.vue';
	const customClick = (e)=>{
		console.log('父组件接收到数据为:',e);
	}
</script>

<style scoped>

</style>

然后运行到微信小程序和h5和app上面发现都可以兼容了

相关推荐
中国胖子风清扬1 天前
GPUI 在 macOS 上编译问题排查指南
spring boot·后端·macos·小程序·rust·uni-app·web app
码云数智-园园2 天前
uni-app 实现物流进度跟踪功能:从 UI 到数据驱动的完整方案
ui·uni-app
予你@。4 天前
UniApp + Vue3 实现 Tab 点击滚动定位(微信小程序)
微信小程序·小程序·uni-app
游戏开发爱好者84 天前
完整教程:App上架苹果App Store全流程指南
android·ios·小程序·https·uni-app·iphone·webview
予你@。4 天前
uni-app progress 组件使用详解
uni-app
iOS阿玮4 天前
春节提审高峰来袭!App Store 审核时长显著延长。
uni-app·app·apple
2501_916007474 天前
ios上架 App 流程,证书生成、从描述文件创建、打包、安装验证到上传
android·ios·小程序·https·uni-app·iphone·webview
2501_915106325 天前
iPhone 文件管理,如何进行应用沙盒文件查看
android·ios·小程序·https·uni-app·iphone·webview
2501_915921435 天前
Fastlane 结合 AppUploader 来实现 CI 集成自动化上架
android·运维·ci/cd·小程序·uni-app·自动化·iphone
云游云记5 天前
vue2 vue3 uniapp (微信小程序) v-model双向绑定
微信小程序·uni-app·vue