vue.js组件和传值以及微信小程序组件和传值
微信小程序组件以及vue.js组件
- 一.微信小程序组件引用
- 1.创建组件Component
- 2.页面组件引用
- 3.组件传值
- 3.1 父视图传值到子组件 (父---->子)
- 3.2 子组件传值给父组件 (子---->父)
- 3.3 父组件方法传递到子组件
- 4. 界面之间的传值
- 4.1 正向传值
- 4.2 反向传值
- 二. uniapp组件的引用
- 1. 组件创建以及引用
- 2. 组件的传值
- 2.1 父组件传值到子组件
- 2.2 子组件传值或者方法到父组件
- 3. 页面传值
- 3.1 页面正向传值
- 3.2 反向传值
- 总结
一.微信小程序组件引用
1.创建组件Component
创建dx.js为子组件
2.页面组件引用
先创建parent父组件页面, 在parent.json中注册组件
"usingComponents": {"component-tag-dx" : "/pages/shengyi/dx/dx",},
在parent.wxml中引用
<component-tag-dx ></component-tag-dx>
3.组件传值
3.1 父视图传值到子组件 (父---->子)
在子组件中dx.js声明要接受的参数
// 这是子组件dx.js
Component({// 组件的属性列表properties: {// 例如滚动视图高度scrollViewH: {type: String,value: '100%'},}
})// 在接受到值以后可以直接在dx.wxml中使用,同样也可以直接通过this.properties.scrollViewH获取到该值
在父组件中进行传值
<!-- 这是父组件parent.wxml -->
<component-tag-dx scrollViewH="90%"></component-tag-dx>
3.2 子组件传值给父组件 (子---->父)
需要再子组件中通过triggerEvent方法进行传值
methods: {//子组件 发生点击事件时触发handleItemTap (e) {// 1 获取点击的索引const { index } = e.currentTarget.dataset;// 2 触发 父组件中的事件,传递数据给父组件 把当前点击的index数据传给父组件this.triggerEvent("tabsItemChange", { index: index });}
在父组件中需要通过bind绑定子组件返回的这个方法,进而拿到传过来的数据
<component-tag-dx bind:tabsItemChange="tabsItemChange" scrollViewH="90%"></component-tag-dx>
// 获取从子组件传回来的数据tabsItemChange (e) {// 获取子组件传过来的数据const name = e.detail },
3.3 父组件方法传递到子组件
例如: 父组件中有3个按钮可以进行切换(按钮1,按钮2, 按钮3)我需要在父组件中点击这3个按钮,把方法传递到子组件中当子组件监听到父组件点击以后,子组件接收方法并且进行页面刷新操作
:
实现:子组件无法监听父组件的方法,父组件也无法把方法传递到子组件中,只能通过传值到子组件然后子组件监听值的改变来判断父组件是否进行了点击
// dx.js子组件Component({
properties:{// 1.首先接收父组件传递过来的值parentIndex: {type: String,value: ''}
},
observers:{// 2. 在监听值是否发生了改变'parentIndex': function (index) {// 如果index == 0说明父组件点击了第一个按钮(按钮1)if (index == 0) {// 在这里执行操作this.setData({triggered: true,})}}
}})
父组件中需要做的操作,在parent.js中,拿到3个按钮点击的索引
// 这个方法是3个按钮点击事件tabClick(e) {let index = e.currentTarget.dataset.indexthis.setData({currentClickIndex: index})},
<!-- 把点击事件的索引传递过去 -->
<component-tag-dx parentIndex="{{currentClickIndex}}"></component-tag-dx>
4. 界面之间的传值
4.1 正向传值
// 正向传值,可以直接从URL中进行拼接,
// 但是如果传递复杂的对象,或者参数较多时,采用这种方式
// 这是页面 Awx.navigateTo({url: '页面B路径',success: function(res) {// 通过eventChannel向被打开页面传送数据res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })}})// 页面B接收
Page({onLoad: function(option){const eventChannel = this.getOpenerEventChannel()// 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据eventChannel.on('acceptDataFromOpenerPage', function(data) {console.log(data)})}
})
4.2 反向传值
// 这是页面 Awx.navigateTo({url: '页面B路径',events: {// 此处用来监听页面B的回调值someEvent: function (data) {let item = that.data.curretItemlet index = that.data.curretItemIndex},}})// 这是页面 B,在onLoad方法中实现就行Page({onLoad: function(option){const eventChannel = this.getOpenerEventChannel()// 把值反向传给界面AeventChannel.emit('someEvent', {data: 'test'});}})// 注意如果是需要点击某个按钮返回,那可以把这个方法放到按钮的点击事件中
二. uniapp组件的引用
1. 组件创建以及引用
直接可以右键创建组件vue,组件可以不注册到page.json界面
// 这里父组件.vue
// 通过路径导入组件
import basics from '../components/CreatBasics';
export default {// 注册组件,注意不要用bas-ics这种格式注册components: {basics: basics},
}
// 在html中直接引用
// <basics></basics>
2. 组件的传值
uniapp组件传值官网: https://uniapp.dcloud.net.cn/tutorial/vue-components.html
2.1 父组件传值到子组件
/****** 这是父组件的html *******/ // ReceivingCommissionOne是引用的子组件
<ReceivingCommissionOne :disposeCode="disposeCode"</ReceivingCommissionOne>/I****** 在子组件中声明要接收的属性 *******/
export default {props: {// 编码disposeCode: {type: String,default: ''},},mounted() {console.log(this.disposeCode)},
}
2.2 子组件传值或者方法到父组件
/******* 这是子组件 ***********/
// 这是某一个按钮的点击事件
backList() {// {} 可以携带任意参数this.$emit('backList', {})
},/******* 这是父组件的html ***********/
<ReceivingCommissionOne @backList="backList" :disposeCode="disposeCode" </ReceivingCommissionOne>
// 实现方法:
backList(data) {}
3. 页面传值
3.1 页面正向传值
/****** 这是页面1 ******/
nextPage() {uni.navigateTo({url: '页面B路径',success: (succ) => {// 在成功的方法中,传值{}succ.eventChannel.emit('changeEdit', {dataDetail: 'text'})}})
}/****** 这是页面2接收 ******/
onLoad(open) {// 接收页面的值const eventChannel = this.getOpenerEventChannel()eventChannel.on('changeEdit', function(data) {}
}
3.2 反向传值
/****** 这是页面1 ******/
nextPage() {uni.navigateTo({url: '页面B路径',events: {// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据someEvent: function(data) {console.log(data)}},})
}/****** 这是页面2接收 ******/
onLoad(open) {// 传值给界面1const eventChannel = this.getOpenerEventChannel()eventChannel.emit('someEvent', {data: 'data from test page for someEvent'});
}
总结
只是平时工作中记录小程序与uniapp的组件传值
相关文章:
vue.js组件和传值以及微信小程序组件和传值
微信小程序组件以及vue.js组件 一.微信小程序组件引用1.创建组件Component2.页面组件引用3.组件传值3.1 父视图传值到子组件 (父---->子)3.2 子组件传值给父组件 (子---->父)3.3 父组件方法传递到子组件 4. 界面之间的传值4.1 正向传值4.2 反向传值…...
c语言编程题(函数)
1编写函数将一个仅包含整数(可能为负)的字符串转换为对应的整数 方法一使用标准库函数 atoi atoi 函数是C语言标准库中的一个函数,用于将字符串转换为整数。 代码: #include <stdio.h> #include <stdlib.h> // 包含…...
华为eNSP:QinQ
一、什么是QinQ? QinQ是一种网络技术,全称为"Quantum Insertion",也被称为"Q-in-Q"、"Double Tagging"或"VLAN stacking"。它是一种在现有的VLAN(Virtual Local Area Network࿰…...
JAVA基础-多线程线程池
文章目录 1. 多线程1.1什么是多线程(1)并发和并行(2)进程和线程 1.2多线程的实现方式1.2.1 方式一:继承Thread类1.2.2 方式二:实现Runnable接口1.2.3方式三: 实现Callable接口 1.3 常见的成员方法1.3.1 设置…...
HarmonyOS 沉浸式状态实现的多种方式
1. HarmonyOS 沉浸式状态实现的多种方式 HarmonyOS 沉浸式状态实现的多种方式 1.1. 方法一 1.1.1. 实现讲解 (1)首先设置setWindowLayoutFullScreen(true)(设置全屏布局)。 布局将从屏幕最顶部开始到最底部结束,…...
Python3.11.9下载和安装
Python3.11.9下载和安装 1、下载 下载地址:https://www.python.org/downloads/windows/ 选择版本下载,例如:Python 3.11.9 - April 2, 2024 2、安装 双击exe安装 3、配置环境变量 pathD:\Program Files\python3.11.9...
简简单单的UDP
前言 上一篇了解了TCP的三次握手过程,目的、以及如何保证可靠性、序列号与ACK的作用,最后离开的时候四次挥手的内容,这还只是TCP内容中的冰山一角,是不是觉得TCP这个协议非常复杂,这一篇我们来了解下传输层另外一个协…...
减少 try...catch,定义全局统一异常处理器!
前言 软件开发springboot项目过程中,不可避免的需要处理各种异常,spring mvc 架构中各层会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器&#x…...
多点支撑:滚珠导轨的均匀分布优势!
滚珠导轨的滚珠稳定性可以有效保持滚珠导轨的稳定运行,减少滚珠脱落的风险,确保设备的长期稳定性和可靠性。事实上,滚珠导轨的滚珠稳定性主要依赖于以下几个方面: 1、精密的制造工艺:滚珠导轨的导轨和滑块通常采用高精…...
电气火灾探测器在商场火灾隐患监测和火灾预防中的应用
徐悦 安科瑞电气股份有限公司 近年来,全国火灾事故频发,尤其是在大型商场等公共场所,火灾造成了巨大的人员伤亡和财产损失。以南京金盛百货中央门店火灾为例,该起事故暴露了商场在电气安全、消防管理方面的重大隐患,…...
速盾:如何有效防止服务器遭受攻击?
服务器攻击是网络安全中常见的问题,但我们可以采取一系列的措施来有效防止服务器的遭受攻击。以下是一些常见的防御措施: 更新和维护服务器软件:及时更新操作系统、应用程序以及安全补丁,以确保最新版本的软件没有已知的漏洞。同时…...
【今日更新】使用Python辅助处理WebGIS
Linux发行版本: Debian GNU/Linux 12 (bookworm)操作系统内核: Linux-6.1.0-18-amd64-x86_64-with-glibc2.36Python版本: 3.11.2 1.使用Python处理MapServer配置文件Mapfile 创建、分析、修改和格式化的python库 MapServer Mapfiles。 Python 2和3 兼容 纯Python-无MapServer依…...
Linux 消息队列
在Linux中,线程间消息队列可以通过使用System V消息队列或POSIX消息队列来实现。 使用System V消息队列: System V消息队列是一种基于IPC(Inter-process Communication,进程间通信)的通信机制,可以用于进程…...
十大经典排序算法-冒泡算法详解介绍
1、十大经典排序算法 排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要…...
delphi 编译多语言工程 error RC2104 : undefined keyword or key name:
Delphi 10.3中建立多语言工程,编译时出现错误:error RC2104 : undefined keyword or key name: 出现错误的的文件是.rc文件,出现错误的位置是 System_JSONConsts_SInvalidJavascriptQuote, L"Invalid JavaScript string quote character…...
[python] 如何debug python脚本中C++后端的core dump
文章目录 Debug过程Reference Debug过程 另外:对于core dump: gdb版本是>7,gdb从版本7开始支持对Python的debug。确保你的系统中安装了 GDB 调试器和对应版本的 Python 调试信息包(例如 python-dbg 或 python-debuginfo)。 #…...
Ecmascript(ES)标准
Ecmascript(ES)标准 ECMAScript(通常简称为 ES)是一种标准化的脚本语言,由 Ecma International 通过 ECMA-262 标准定义。ECMAScript 是 JavaScript 的规范版本,几乎所有的现代浏览器和许多服务器端环境&a…...
易泊车牌识别相机:4S 店的智能之选
在当今数字化时代,科技的进步不断为各个行业带来更高效、便捷的解决方案。对于 4S 店来说,易泊车牌识别相机的出现,无疑为其运营管理带来了全新的变革。 一、易泊车牌识别相机的强大功能 易泊车牌识别相机以其卓越的性能和精准的识别能力&…...
Webpack 深度解析与实战指南
文章目录 前言一、安装于基本配置安装Webpack 和 Webpack CLI创建基本配置文件 二、加载器常见的加载器配置加载器 三、插件(Plugins)常用的插件配置插件 四、性能优化缓存代码分割Tree Shaking压缩 五、开发服务器安装服务器配置服务器启动服务器生产环…...
【RabbitMQ】06-消费者的可靠性
1. 消费者确认机制 没有ack,mq就会一直保留消息。 spring:rabbitmq:listener:simple:acknowledge-mode: auto # 自动ack2. 失败重试机制 当消费者出现异常后,消息会不断requeue(重入队)到队列,再重新发送给消费者。…...
【K8S系列】如何监控集群CPU使用率并设置告警的分析与详细解决方案
监控 Kubernetes 集群的 CPU 使用率并设置告警是确保集群健康和性能的关键。以下是几种常见的方案,每种方案的具体步骤都进行了详细说明。 方案 1: 使用 Prometheus 和 Grafana 1. 安装 Prometheus 和 Grafana 1.1 使用 Helm 安装 Prometheus 添加 Helm 仓库: hel…...
解线性方程组(二)
实验类型:●验证性实验 ○综合性实验 ○设计性实验 实验目的:进一步熟练掌握用Jacobi迭代法和Gauss-Seidel法解线性方程组的算法,提高编程能力和解算线性方程组问题的实践技能。 实验内容: 1)取初值性x(0)(0,0,0,0)T, 精度要求ε…...
HarmonyOS Next 实战卡片开发 02
HarmonyOS Next 实战卡片开发 02 卡片开发中,还有一个难点是显示图片。其中分为显示本地图片和显示网络图片 显示本地图片 卡片可以显示本地图片,如存放在应用临时目录下的图片。路径比如 /data/app/el2/100/base/你的项目boundleName/temp/123.png 以…...
FastDDS服务发现之PDP的收发
目录 PDP发送PDP接收EDP更新 EntityID 通过FastDDS服务发现之PDP和EDP的创建这一节内容,可以了解服务发现的概念,机制和PDP/EDP中各类对象的创建,本文详细介绍Simple PDP发送数据,接收数据和处理报文的流程。 PDP发送 通过在RTP…...
【计网不挂科】计算机网络期末考试——【选择题&填空题&判断题&简述题】试卷(2)
前言 大家好吖,欢迎来到 YY 滴计算机网络 系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 本博客主要内容,收纳了一部门基本的计算机网络题目,供yy应对期中考试复习。大家可以参考 本章是去答案版本。带答案的版本在下…...
关于有机聚合物铝电容的使用(2)
在使用时需要特别注意的几个应用场景: 在有较长供电电缆或PCB电源布线较长的场合。 这个场景应当仍与有机聚合物铝电容的耐压有关。 假设在相同的冲击电流下,较长的供电电缆和PCB布线,那么电缆和PCB布线上产生的冲击电压就会越高。故而&…...
Linux -- 进程初印象
目录 预备知识 切入点 PCB 看见进程 pid getpid 函数 预备知识 Linux -- 冯诺依曼体系结构(硬件)-CSDN博客https://blog.csdn.net/2301_76973016/article/details/143598784?spm1001.2014.3001.5501 Linux -- 操作系统(软件…...
【超级简单】Facebook脸书视频下载一键保存手机
Facebook作为目前服务全球30亿用户,尤其是出海和跨境用户没有办法忽视的平台,提供了一个在线平台,使用户分享照片、视频、状态更新和链接等内容,然而,令人遗憾的是,用户没有办法直接将照片和视频保存到本地…...
昇思大模型平台打卡体验活动:项目2基于MindSpore通过GPT实现情感分类
昇思大模型平台打卡体验活动:项目2基于MindSpore通过GPT实现情感分类 1. 载入与处理数据集 在情感分类任务中,我们使用了IMDB数据集,首先需要对数据进行加载和处理。由于原数据集没有验证集,我们将训练集重新划分为训练集和验证…...
【JAVA】会员等级互通匹配数据库表设计
1、使用数据库:mysql数据库 设计四张表: 会员互通合作商配置表 会员互通合作商会员等级配置表 会员互通合作日志表 会员互通合作等级映射表 CREATE TABLE user_level_partner ( id bigint NOT NULL AUTO_INCREMENT, partner_novarchar(100) DE…...
江苏网站建设seo优化/网站注册要多少钱
1、概述 如果clone方法返回一个由构造器创建的对象,它就得到有错误的类。因此,如果覆盖了非final类中的clone方法,则应该返回一个通过调用super.clone得到的对象。如果类的所有超类都遵循这条规则,那么调用super.clone最终会调用O…...
品牌高端网站制作机构/如何在网站上推广自己的产品
计算机专业在目前是比较需要的,那么你会自我介绍了吗,今天小编就给大家来分享一下面试自我介绍,好好参考哦计算机专业应届生面试自我介绍我学习成绩优良,学风端正,学习刻苦努力,奋发向上。在认真完成自身学…...
教做粥的网站/站长工具使用
我们在前面讲过的《克里姆算法》是以某个顶点为起点,逐步找各顶点上最小权值的边来构建最小生成树的。同样的思路,我们也可以直接就以边为目标去构建,因为权值为边上,直接找最小权值的边来构建生成树也是很自然的想法,…...
网站怎么做维护/百度一下网页版浏览器百度
本篇博客主要为 https://bbs.csdn.net/skill/python 频道练习题模块补充题目,暂定每天提供 5 or 6 道测试题,后面可能会更多哦~。 本篇博客对【进阶语法】→ 【异常捕获预处理】 进行出题。 以下题目,默认将正确答案,放置在选项 A…...
深圳网站建设怎么办/西安网约车平台
嗨, 欢迎来到课程的第一部分。 并行计算和Python入门。 在本节中, 我们将讨论并行计算和内存架构。 我们还将关注内存组织和并行编程模型。 接下来, 我们将看到如何设计并行程序, 并评估并行程序的性能。 此外, 我们将介绍Python。 并且我们将与流程一起工作, 并与他们一起调节…...
新网店怎么免费推广/许昌网站seo
针对windows8.x中文版以及win10无远程桌面功能的解决办法: 第一步到一个网站上下载一个工具包。 这个是开源的。可以放心使用。下载地址: https://github.com/binarymaster/rdpwrap/releases选择第一个RDPWrap-v1.6.1.zip, 大约1.8MB。下载后解压开第二步…...