小程序 methods方法互相调用 this.onClickCancel is not a function

背景

做了一个自定义的弹出对话窗口,主要是自定义一些文本颜色。

问题

但是点击按钮事件:取消与确认,调用了同一个接口,然后想着走不同方法,需要调用methods其他方法。然后报错了:

VM1081 WAService.js:2 TypeError: _this.onClickCancel is not a function

 效果:

想着是不是methods方法不能互相调用 。最后发现是自己把方法放在methods:{}外面了。

如下

Component({properties: {showModal: true},data: {},lifetimes: {attached() {console.log(">>showModal", this.data.showModal)}},onClickCancel(e) {console.log('>>点击了取消')this.triggerEvent('onclickcancel')},onClickComfirm(e) {console.log("点击了确认")this.triggerEvent('onclickcomfirm')},methods: {onClickMask(e) {console.log(">>>点击 onClickMask", e)console.log(this)console.log(">>> methods", this.methods)if (e.target.dataset.cancel) {this.methods.onClickCancel(e)this.setData({showModal: false})} else if (e.target.dataset.comfirm) {this.methods.onClickComfirm(e)this.setData({showModal: false})}} ,},});

 解决:

应该把:onClickCancel(), onClickComfirm() 这2个方法放在methods{}里面,

但是放进去之后还是报错。

原因是调用格式语句写错了:

 this.methods.onClickCancel(e)

 this.methods.onClickComfirm(e)

改成:

this.onClickCancel(e)

 this.onClickComfirm(e)

 最终代码

附上自定义弹窗的整个案例源码:

Component({properties: {showModal: true},data: {},lifetimes: {attached() {console.log(">>showModal", this.data.showModal)}},methods: {onClickMask(e) {console.log(">>>点击 onClickMask", e)console.log(this)if (e.target.dataset.cancel) {this.onClickCancel(e)this.setData({showModal: false})} else if (e.target.dataset.comfirm) {this.onClickComfirm(e)this.setData({showModal: false})}},onClickCancel(e) {console.log('>>点击了取消')this.triggerEvent('onclickcancel')},onClickComfirm(e) {console.log("点击了确认")this.triggerEvent('onclickcomfirm')}},});
<view clase="modal" wx:if="{{showModal}}"><view class="mask" bind:tap="onClickMask"><view class="dialog"><view class="title">提示</view><view class="content">请确认支付1869.00元</view><view class="btn"><view class="cancel" data-cancel >取消</view><view class="sure" data-comfirm >确认</view></view></view></view></view>

wxss


.modal {position: relative;color: #F7F7F7;opacity: 0.96;z-index: 199;width: 100%;height: 100%;background-color: antiquewhite;
}/*通过固定位置fixed 来实现页面居中*/
/*.mask {*/
/*  !*height: 100%;*!*/
/*  !*width: 750rpx;*!*/
/*  !*position: fixed;*!*/
/*  !*top: 0;*!*/
/*  !*bottom: 0;*!*/
/*  !*left: 0;*!*/
/*  !*right: 0;*!*/
/*  display: flex;*/
/*  justify-content: center;*/
/*  align-items: center;*/
/*  background-color: rgba(0, 0, 0, 0.2);*/
/*}*/.mask {width: 100%;height: 100%;z-index: 198;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;display: flex;justify-content: center;align-items: center;background-color: rgba(0, 0, 0, 0.8);/*background-color: #bfc;*/
}.dialog {width: 600rpx;height: 320rpx;box-sizing: border-box;overflow: hidden;background-color: #fff;border-radius: 20rpx;
}.btn {height: 100rpx;display: flex;justify-content: space-evenly;flex-direction: row;border-top: 1rpx solid #eee;
}.title {width: 100%;font-size: 38rpx;padding: 28rpx 0 10rpx;font-weight: 700;text-align: center;
}.content {height: 120rpx;box-sizing: border-box;font-size: 30rpx;overflow: hidden;padding: 18rpx 28rpx;color: #333333;text-align: center;
}.cancel, .sure {line-height: 100rpx;box-sizing: border-box;width: 50%;font-weight: 600;font-size: 36rpx;text-align: center;border-right: 1rpx solid #eee;
}.cancel {color: #959595;
}.sure {color: #F15D21;
}

 运行 :点击取消按钮,与点击确认按钮打印正常了,调用组件的页面收到事件log:

>>点击了取消
 [sm]:7 取消支付

点击了确认
 [sm]:11 >>确认支付

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/6089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行为型模式 - 状态模式

概述 【例】通过按钮来控制一个电梯的状态&#xff0c;一个电梯有开门状态&#xff0c;关门状态&#xff0c;停止状态&#xff0c;运行状态。每一种状态改变&#xff0c;都有可能要根据其他状态来更新处理。例如&#xff0c;如果电梯门现在处于运行时状态&#xff0c;就不能进…

C语言数据在内存中的存储

目录 前言 本期内容介绍 一、数据类型的介绍 1.1类型的意义&#xff1a; 1.2C语言中是否有字符串类型&#xff1f; 1.3类型的基本归类 整型家族&#xff1a; 浮点型&#xff08;实型&#xff09;家族&#xff1a; 构造&#xff08;自定义&#xff09;类型&#xff1a;…

STM32外设系列—TB6612FNG

本文涉及到定时器和串口的知识&#xff0c;详细内容可见博主STM32速成笔记专栏。 文章目录 一、TB6612简介二、TB6612使用方法2.1 TB6612引脚连接2.2 控制逻辑2.3 电机调速 三、实战项目3.1 项目简介3.2 初始化GPIO3.3 PWM初始化3.3 电机控制程序3.4 串口接收处理函数 一、TB66…

优化transformer

使用transformer而导致的时间长&#xff0c;可能会由于self-attention计算Query和key的值才导致的时间长&#xff0c;也可能会因为feed forward中的计算导致时间长。这里我们只针对第一种情况下进行优化。 第一种情况&#xff1a;有些问题&#xff0c;我们可能不需要看整个句子…

【问题总结】基于docker-compose实现nginx转发redis

目录&#xff1a; 文章目录 需求简介&#xff1a;Q1: nginx的http模块和http模块有什么不同Q2: 可以都使用stream模块进行配置吗 Docker环境下如何转发1 修改docker-compose2 修改nginx.conf3 测试连接 需求简介&#xff1a; 需要在192.168.3.11的ngnix上&#xff0c;转发192.…

前端 | ( 十)HTML5简介及相关新增属性 | 尚硅谷前端html+css零基础教程2023最新

学习来源&#xff1a;尚硅谷前端htmlcss零基础教程&#xff0c;2023最新前端开发html5css3视频 系列笔记&#xff1a; 【HTML4】&#xff08;一&#xff09;前端简介【HTML4】&#xff08;二&#xff09;各种各样的常用标签【HTML4】&#xff08;三&#xff09;表单及HTML4收尾…

MyBatis学习笔记——4

MyBatis学习笔记——4 一、MyBatis的高级映射及延迟加载1.1、多对一1.1.1、第一种方式&#xff1a;级联属性映射1.1.2、第二种方式&#xff1a;association1.1.3、第三种方式&#xff1a;分步查询 1.2、一对多1.2.1、第一种方式&#xff1a;collection1.2.1、第二种方式&#x…

Web后端开发总结

后端web开发大致流程 和对应的核心技术 对应技术的来源 springMVC可以理解为spring框架中的web开发框架 springMVCSpringMybatis就是我们熟知的ssm框架了

golang单元测试及mock总结

文章目录 一、前言1、单测的定位2、vscode中生成单测 二、构造测试case的注意事项1、项目初始化2、构造空interface{}3、构造结构体的time.Time类型4、构造json格式的test case 三、运行单测文件1、整体运行单测文件2、运行单个单测文件报错&#xff08;1&#xff09;command-l…

基于sklearn计算precision、recall等分类指标

文章目录 一、分类指标函数1.1 precision_score函数1.2 recall_score函数1.3 accuracy_score函数1.4 f1_score函数1.5 precision_recall_curve函数1.6 roc_curve函数1.7 roc_auc_score函数1.8 classification_report函数 二、二分类任务三、多分类任务3.1 Macro Average&#x…

怎样原生制作lis的CentOS容器镜像

本文介绍从一个空白的裸机CentOS自己构造检验允许的docker环境。来达到运行环境的高度定制&#xff0c;而不是只能依赖VS或者微软或者数据库厂商提供的镜像当做基础制作。更容易理解基础原理。最终输出产物为lisnew.tar&#xff0c;一个开箱即用的lis运行环境。 制作的整个过程…

os.environ[“CUDA_VISIBLE_DEVICES“]学习总结

今天发现一个很有意思的东西 import torch import os # Specify the GPU device os.environ["CUDA_VISIBLE_DEVICES"] "1" print(torch.cuda.is_available())但是如果修改下面的设置后&#xff0c;结果就变成了 import torch import os # Specify the…

Spring MVC -- 返回数据(静态页面+非静态页面+JSON对象+请求转发与请求重定向)

目录 1. 返回静态页面 2. 返回非静态页面 2.1 ResponseBody 返回页面内容 2.2 RestController ResponseBody Controller 2.3 示例:实现简单计算的功能 3. 返回JSON对象 3.1 实现登录功能&#xff0c;返回 JSON 对象 4. 请求转发(forward)或请求重定向(redirect) 4.1 请…

Rust之泛型、特性和生命期(四):验证有生存期的引用

开发环境 Windows 10Rust 1.71.0 VS Code 1.80.1 项目工程 这里继续沿用上次工程rust-demo 验证具有生存期的引用 生存期是我们已经在使用的另一种泛型。生存期不是确保一个类型具有我们想要的行为&#xff0c;而是确保引用在我们需要时有效。 我们在第4章“引用和借用”一…

<Java物联网> 从主动到被动:Java中的BACnet设备属性查询

目录 BACnet 使用软件 资源 模拟器 使用Java主动查 引入maven 创建网络对象 获取远程设备 获取设备属性 使用DeviceEventAdapter订阅 初始化本地BACnet设备和IP网络配置&#xff1a; 启动本地设备和添加监听器&#xff1a; 搜寻远程设备&#xff1a; 发送订阅COV报…

python try/except/finally

稍微总结一下&#xff0c;否则总是忘。 x abc def fetcher(obj, index): return obj[index] fetcher(x, 4) 输出&#xff1a; File "test.py", line 6, in <module> fetcher(x, 4) File "test.py", line 4, in fetcher return obj[index] …

zookeeper的应用

Zookeeper的配置文件解析: Zookeeper内部原理: 选举机制 半数机制:在集群环境中半数以上的机器存活,这个集群可用,所以在设计Zookeeper集群系统时&#xff0c;通常会选择 奇数台服务器来搭建Zookeeper的集群 虽然在配置文件中并没有指定Master和Slave。但是&#xff0c;Zookeep…

第三十二章:MySQL事务日志

第三十二章&#xff1a;MySQL事务日志 32.1&#xff1a;概述 事物有4种特性&#xff1a;原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢&#xff1f; 事物的隔离性有锁机制实现。而事物的原子性、一致性和持久性由事物的redo日志和undo日志来…

Redis入门基础命令

文章目录 一、redis1.1 redis概述1.2 redis安装 二、string2.1 基础命令2.2 存储结构2.3 应用 三、list3.1 基础命令3.2 应用 四、hash4.1 基础命令4.2 存储结构4.3 应用 五、set5.1 基础命令5.2 存储结构5.3 应用 六、zset6.1 基础命令6.2 存储结构6.3 应用 一、redis 1.1 re…

【C#】MVC页面常见的重定向方式和场景

本篇文章主要简单讲讲&#xff0c;C# MVC 页面常见跳转或者重定向的方式和场景。 在实际项目开发中&#xff0c;在一些特定场景肯定会用到重定向&#xff0c;比如&#xff1a;不同角色跳转到不同视图地址 目录 一、种常见重定向方式1.1、RedirectToAction1.2、RedirectToRoute1…