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上面发现都可以兼容了

相关推荐
2501_9160074713 小时前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
小徐_233314 小时前
AI 写 wot-ui 总在猜 API?我们把 Skills、MCP 和 CLI 都配好了
前端·uni-app·ai编程
Liu.77414 小时前
uni-app 组件 uni-easyinput 常见 Bug 及解决方案
uni-app·bug
小徐_23331 天前
uni-app 项目别再从零搭了!3 个 Wot UI 起手模板怎么选?
前端·uni-app
蜡台1 天前
uniapp pdf文件预览组件
pdf·uni-app·合同·pdfh5
凡泰AI1 天前
如何借助MCP打通企业APP内部服务:从统一调用到小程序承接
小程序·uni-app·app·mpaas·mcp·小程序容器
华玥作者1 天前
uniapp 万条数据不卡顿:我写了个虚拟列表组件 hy-list,原生支持瀑布流
数据结构·uni-app·list·vue3
这是个栗子1 天前
uni-app 微信小程序开发:常用函数总结(一)
微信小程序·小程序·uni-app·getcurrentpages
宠友信息3 天前
消息序号如何保证即时通讯源码聊天记录稳定加载
java·spring boot·redis·python·mysql·uni-app
2501_916008893 天前
苹果上架工具怎么选 不用 Mac 上架 App Store 的几种方案
android·macos·ios·小程序·uni-app·iphone·webview