uni-popup TypeError: Cannot read property ‘open‘ of undefined

我的代码是没问题的,因为之前popup没有问题,换了笔记本,重新安装了hbuilderx,现在uni-popup在页面的底端都显示出来了,
原因:uni-popup插件问题,
解决:我卸载hbuilder重新下了一遍,再运行项目就没有问题了

一篇比较中肯的链接可以参考
参考:
1、#插件讨论# 【 Popup 弹出层 - DCloud 】使用出错TypeError: Cannot read property ‘open’ of undefined
2、解决uni-app官方弹框popup关闭不了问题;/pages/extUI/popup/popup;uni-app弹框popup打开调用事件。unin-app弹框封装;

如果网上提供的代码思路解决不了,代码本身没有问题,可以试试:
1、关闭hbuilderx 和微信开发者工具,重新运行项目
2、重新编译项目
3、重新安装插件
4、卸载重装hbuilderx ,根据需要看看是不是卸载重装微信开发者工具
5、版本匹配和兼容性
6、重新安装依赖,删除node_modules 和 package-lock.json

npm cache clean --force
npm install 

以下内容可以不用看
仅作记录:

报错一:
vendor.js? [sm]:2190 [Vue warn]: Error in onLoad hook: “TypeError: Cannot read property ‘0’ of undefined”
报错二:
(found in pages/home/home.vue)(env: Windows,mp,1.06.2308310; lib: 3.1.5)
warn @ vendor.js? [sm]:2190
Vue.config.errorHandler @ vendor.js? [sm]:7376
globalHandleError @ vendor.js? [sm]:3457
handleError @ vendor.js? [sm]:3426
invokeWithErrorHandling @ vendor.js? [sm]:3449
Vue.__call_hook @ vendor.js? [sm]:7433
pageOptions.methods.onLoad @ vendor.js? [sm]:1459
setTimeout (async)
doWhenAllScriptLoaded @ VM740:1742
scriptLoaded @ VM740:1759
(anonymous) @ VM740:1784
Promise.then (async)
(anonymous) @ VM740:1805
(anonymous) @ VM740:1809
vendor.js? [sm]:7377 TypeError: Cannot read property ‘0’ of undefined
报错三:
TypeError: Cannot read property ‘open’ of undefined

<uni-popup ref="popup" type="center">
	<view class="show"></view>
</uni-popup>      

onLoad(options) {
	this.getStorageToken()
	this.getPhoneHeight()
},      

getStorageToken() {
	this.value = uni.getStorageSync('token');
	if (this.value !== null) {
		this.close()
	} else {
		this.open()
	}
},      

open() {
	this.$refs.popup.open('center')
},
close() {
	console.log(this.$refs)
	console.log(this.$refs['popup'])
	console.log(this.$refs.popup[0])  //报错二是因为popup没有在循环里,不能这么取
	this.$refs.popup.close()
},     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值