开发微信小程序过程中遇到的问题笔记

news/2024/11/20 17:37:50/

时间绑定bindtap的基础用法

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

这里要注意的是data-xxx中的xxx需要小写,否则获取不到。
使用for循环的时候,这种方法是拿不到数据的。
需要使用currentTarget进行获取。

bindTap的事件对象接口类型

 // WechatMiniprogram.TouchEventswitchPage(e:WechatMiniprogram.TouchEvent){const current = +e.detailthis.setData({mapEnlarge:current===2,pageType:current})},

自定义事件类型

WechatMiniprogram.CustomEvent

引用别的分包的组件

  //引用组件"usingComponents": {"SubmitBtn":"../../pagesLease/components/SubmitBtn/SubmitBtn"},// 占位组件"componentPlaceholder": {"SubmitBtn":"view"} 

wx.navigateBack()方法 返回并传参

let page = getCurrentPages() //获取当前页面栈
let prevPage = page[page.length - 2] //代表的就是上一页的实例,相当于this
prevPage.setData({portList:list // 可以操作上一页的数据
})

引入weui

//  app.json
{"useExtendedLib": {"weui": true}
}

微信小程序引入echarts

  1. 下载echarts微信版 地址:https://github.com/ecomfe/echarts-for-weixin
    在这里插入图片描述
  2. 把ec-canvas放到项目中
    需要使用echarts的页面引入 xxx.json
  "usingComponents": {"ec-canvas": "/ec-canvas/ec-canvas"}
  1. 在js文件中引入 xxx.js
import * as echarts from '../../ec-canvas/echarts';
  1. 注意:此处有个坑,如果使用ts的话,直接引入会报错(如果是js可以忽略这一步直接第5步)
    解决办法:
    在页面同级创建一个 yyy.js(位置放哪可以随意)
    在这里插入图片描述
    在yyy.js中引入ec-canva并导出
import * as echarts from './ec-canvas/echarts';export default echarts

然后在去xxx.ts中导入 yyy.js即可

import echarts from '../middleware.js'

这是目前我的解决方法,有更好的解决方法请评论区附上谢谢!!

  1. 页面代码
    xxx.wxml
<ec-canvas type="2d" id="myChart" canvas-id="myChart" ec="{{ec}}"></ec-canvas>

xxx.js / xxx.ts

// ts引入
import echarts from '../middleware.js'
// js引入
// import * as echarts from './ec-canvas/echarts';
let result = { x: ['2月', '3月', '4月', '5月', '6月', '7月'], y: [67, 68, 60, 56, 62, 76] };
function initChart(canvas: any, width: number, height: number, dpr: any) {const chart: any = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr // new});canvas.setChart(chart);let option = {tooltip: {show: false},grid: {left: '3%',right: '4%',bottom: '4%',top:'15%',containLabel: true},xAxis: {type: 'category',axisLabel: {interval: 0,show: true},axisPointer: {show: true,type: 'shadow',label: {show: true,backgroundColor: 'rgba(0,0,0,.3)',},shadowStyle: {color: '#000',opacity:0.2}},axisTick: {  //y轴刻度线show: false},axisLine: {lineStyle: {color: 'rgba(255,255,255,.6)'}},data: result.x},yAxis: {type: 'value',axisLine: {show: true,lineStyle: {color: 'rgba(255,255,255,.6)'}},splitLine: {show: false // 不显示网格线}},series: [{name: '总计',type: 'bar',stack: 'Total',data: result.y,itemStyle: {normal: {color: 'rgba(255,255,255,.5)',barBorderRadius: [5, 5, 0, 0],label: {show: true,position: 'top',formatter: "{c}" + "kg",textStyle: {color: 'rgba(255,255,255,.8)'}}}},barWidth: 28,},],};chart.setOption(option);return chart;
}
Component({/*** 组件的初始数据*/data: {result: [],ec: {onInit: initChart}}
})

到此引入echarts结束
后续会继续补充


http://www.ppmy.cn/news/12513.html

相关文章

SpringCloud面试题

为什么需要学习Spring Cloud 不论是商业应用还是用户应用&#xff0c;在业务初期都很简单&#xff0c;我们通常会把它实现为单体结构的应用。但是&#xff0c;随着业务逐渐发展&#xff0c;产品思想会变得越来越复杂&#xff0c;单体结构的应用也会越来越复杂。这就会给应用带…

Spring 中最常用的 11 个扩展点

目录 1.自定义拦截器 2.获取Spring容器对象 2.1 BeanFactoryAware接口 2.2 ApplicationContextAware接口 3.全局异常处理 4.类型转换器 5.导入配置 5.1 普通类 5.2 配置类 5.3 ImportSelector 5.4 ImportBeanDefinitionRegistrar 6.项目启动时 7.修改BeanDefiniti…

基于Simulink的带通BPSK信号调制解调实验报告(含代码和slx文件)

重要声明:为防止爬虫和盗版贩卖,文章中的核心代码和数据集可凭【CSDN订阅截图或公z号付费截图】私信免费领取,一律不认其他渠道付费截图! 摘要 数字相位调制又称为相移键控(Phase Shift Keying,PSK),是一种十分重要的基本数字调制技术,是一种用载波相位表示输入信号…

黑客与画家相同之处

公司对黑客的看法就是实现代码的人&#xff0c;而不是去设计软件的。这意味着&#xff0c;黑客只能机械的实现需求。这也是大公司的不好之处. 请记住&#xff0c;如果你把一个软件交给一个懂得设计的黑客&#xff0c;这会让你把大公司甩在脑后&#xff0c;但是&#xff0c;大公…

算法leetcode|31. 下一个排列(rust重拳出击)

文章目录31. 下一个排列&#xff1a;样例 1&#xff1a;样例 2&#xff1a;样例 3&#xff1a;提示&#xff1a;分析&#xff1a;题解&#xff1a;rustgoccpythonjava31. 下一个排列&#xff1a; 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如&#xff0…

【pandas】17 数据处理和绘图

【pandas】17 数据处理和绘图 2023.1.16 pandas数据处理方法和绘图&#xff1a;读取数据、更改数据、时间数据等 主要参考&#xff1a;https://mofanpy.com/tutorials/data-manipulation/pandas/time 17.1运算方法 17.1.1 筛选赋值运算 就是用前面的方法对数据进行筛选&#…

如何实现外网远程登录访问jupyter notebook?

Jupyter Notebook是一个交互式笔记本&#xff0c;本质是一个 Web 应用程序&#xff0c;支持运行 40 多种编程语言&#xff0c;此前被称为 IPython notebook。Jupyter Notebook 便于创建和共享程序文档、支持实时代码、数学方程、可视化和 markdown&#xff0c;应用场景有数据清…

大数据必学Java基础(一百二十四):Maven的常见插件

文章目录 Maven的常见插件 一、编辑器插件 二、资源拷贝插件 三、tomcat插件 Maven的常见插件