微信小程序使用ChatJS报错:TypeError: Cannot read property ‘node‘ of null

微信小程序原生开发中使用Chart.js报错问题记录

报错内容

WAServiceMainContext.js?t=wechat&s=1660287711817&v=2.25.0:1 TypeError: Cannot read property 'node' of null
    at Object.<anonymous> (Chart.umd.min.js? [sm]:formatted:1)
    at Function.<anonymous> (WAServiceMainContext.js?t=wechat&s=1660287711817&v=2.25.0:1)
    at :52460/appservice/<SelectorQuery callback function>
    at WAServiceMainContext.js?t=wechat&s=1660287711817&v=2.25.0:1
    at WAServiceMainContext.js?t=wechat&s=1660287711817&v=2.25.0:1
    at Array.forEach (<anonymous>)
    at WAServiceMainContext.js?t=wechat&s=1660287711817&v=2.25.0:1
    at WAServiceMainContext.js?t=wechat&s=1660287711817&v=2.25.0:1
    at WASubContext.js?t=wechat&s=1660287711817&v=2.25.0:1
    at J (WASubContext.js?t=wechat&s=1660287711817&v=2.25.0:1)(env: Windows,mp,1.06.2206090; lib: 2.25.0)

 对应代码

 

看下代码

.wxml

<canvas style="width:100%;height:300px" type="2d" id="mychat" bindtouchstart="touchHandler"></canvas>

.js


var Chart = require('../../utils/Chart.umd.min.js');
Page({

  data: {
    chart: {}
  },

  touchHandler(options) {
    this.chart = {};
		this.chart.config = createConfig();
		console.log(this.chart)
    this.chart.instance = new Chart('mychat', this.chart.config)
    function createConfig() {
			const data = {
				labels: ['Red', 'Orange', 'Yellow', 'Green', 'Blue'],
				datasets: [{
					label: 'Dataset 1',
					data: [10, 2, 3, 1, 2],
					backgroundColor: 'rgba(123,0,0,0.3)',
					fill: false,
				}]
			};
			return {
				type: 'pie',
				data: data,
				options: {
					responsive: true,
				},
			}
		}
  },

})

排查时踩过的坑

  • 更换版本(无效)
  • 更换开发工具基础库(无效)

问题原因

最后研究他人demo:将demo导入开发工具,可以运行,对比代码没有太大出入,但是我的代码始始终报错。

之后在我的工程中新建page,将demo代码移动过来, 还是报TypeError: Cannot read property 'node' of null。

将我的代码移动到demo的工程里,居然可以运行成功。

后来经过一番分析发现demo中chatJS的代码写在了page中,而我的是写在了Component,然后在index.wxml引用过的这个Component,代码如下:

index.json

index.wxml

 总结

不能在Component中使用chatJS,改用其他图表组件

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
根据引用中提供的信息,可能导致微信内打开报错"TypeError: Cannot read properties of undefined (reading 'status')"的原因有两个。首先,可能是因为没有配置envId。解决方法是在开发者工具的云开发中获取或复制envId,并在envList.js文件中进行配置。其次,如果已完成以上步骤但问题仍然存在,可以尝试重新启动微信开发者工具或清理缓存。 而根据引用中提供的信息,如果你需要播放和暂停功能,需要将audio以及其src放在Page外部。同时,确保不要缺少audioCtx.onPlay()和audioCtx.onError()这两个方法,并且需要放在play()方法之前。如果在使用wx.createInnerAudioContext()时添加了{useWebAudioImplement:true},需要将其去掉。 综上所述,你可以尝试按照以上方法解决这个报错问题。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [微信小程序云开发报错“Cannot read property ‘envId‘ of undefined“原因及解决办法](https://blog.csdn.net/qq_40128591/article/details/129652521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [微信小程序音频播放失败:TypeError: Cannot read property ‘duration‘ of undefined](https://blog.csdn.net/weixin_51033461/article/details/131704534)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

as350144

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值