我的编程空间,编程开发者的网络收藏夹
学习永远不晚

uni-app生成微信小程序报错怎么解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

uni-app生成微信小程序报错怎么解决

本文小编为大家详细介绍“uni-app生成微信小程序报错怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“uni-app生成微信小程序报错怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1.不允许id选择器

这个问题是最容易发现的,在h6页面中用id标记标签很常见,然后在css中用#+id来设置标签的style,但是微信小程序中是不能用id选择器的,从警告内容中很容易发现。

uni-app生成微信小程序报错怎么解决

从警告中还可以看出,小程序中标签名、属性名选择器都不能用。

2.默认竖排

在H5页面中,元素默认是横排的,但是在小程序中,元素是默认竖排的,因此最好显式的设置元素的横排竖排,这样就不会发生页面错乱了。

.row-arrange{    flex-direction: row;}

3.图片加载不出来

其实这个原因官网的文档上有写,不过我没仔细看

uni-app生成微信小程序报错怎么解决

而且H5中用相对路径可以正常加载,但是在小程序中就不行了,所以最好还是用绝对路径吧。

../../../static/xxx.jpg # 相对路径/static/xxx.jpg # 绝对路径

4.eval函数不可用

之前写H5的时候,总是很习惯的用eval(字符串)来得到数字、JavaScript对象等,但是在微信小程序端这些转换都会报错,因此最好的方式是使用对应的转换API,比如数字可以用parseInt、JSON对象可以用JSON.parse等。

5.getStorage异步

在H5页面中,这样写是可以拿到存储的数据的:

var data;uni.getStorage({title : 'xxx',success : function(res){data = res.data;}})this.data = data;

但是在小程序中,这段代码就会出错,我猜是小程序中读取存储数据略慢吧,而且我上面的这种写法也不标准,因此严格应该这样写就不会出错:

var vm = this;uni.getStorage({title : 'xxx',success : function(res){vm.data = res.data;}})

6.props的中的值不可修改

props : { questions : {type : Array,default : []},},

如上所示,我一开始是直接利用questions中的数据通过v-for来进行动态的页面渲染,用这种方式questions的值可以直接从标签的属性设置,会非常方便,即使后面利用this.questions.push(x)给它增加新元素H5页面也可以更新。但是在微信小程序端就没有反应了,不管怎么修改,它都不能动态的进行渲染,因此我在data中增加了一个ques用来进行渲染的数据来源:

data() {return {ques : [],};},props : { questions : {type : Array,default : []},},created : function(){...this.ques = this.questions;},

然后只需要利用ques中的数据进行渲染即可,如果要添加元素,也是通过修改ques来办到,如this.ques.push(x)

7.wx.uploadFile携带字符串参数

上传文件时,按照微信官方的文档,总是不能成功提交表单格式的字符串参数,有一种解决方法是把上传文件和上传字符串分割成两个接口,但由于我的上传文件包含权限验证的token,因此必须在上传文件的同时携带token才行,所以最终用了拼接地址的方法解决了这个问题:

wx.uploadFile({url: vm.fileurl + '/file/uploadPic?token=' + tokenJson['token'] + '&userId=' + tokenJson['userId'], //图片文件上传接口filePath: vm.class="lazy" data-src,name: 'pic',  //header: { 'Content-Type': 'multipart/form-data',},formData: {method: 'POST'   //请求方式},success (res){...}})

8.picker的multiSelector mode中选择框出现undefined

展示一下出错的效果图:

uni-app生成微信小程序报错怎么解决

可以看到所有的选项都成了undefined。

这里是因为我一开始的数据使用的都是普通数组,每一列都是字符串或数字数组,比如[[1,2,3],[1,2,3,4,5]]这样,在H5页面中这样做没有问题,但是在小程序中就会出现错误,因此这里每一列都必须采用对象数组,例如一个很简单的解决方案:

首先写数据的时候需要用对象数组的方式

data() {    return {area : [[{'name':'北京市'},{'name':'河北省'}],[{'name':'邢台市'},{'name':'石家庄市'}],[{'name':'不知道县'}]],areaIndex : [1,0,0],}}

然后在标签中用如下的方法:

<picker mode="multiSelector" :value="areaIndex" :range="area" range-key="name" @columnchange="changeColumn" ><view class="row-arrange"><text class="little-font-size">{{area[0][areaIndex[0]].name}}</text><text class="little-font-size">{{area[1][areaIndex[1]].name}}</text><text class="little-font-size">{{area[2][areaIndex[2]].name}}</text></view></picker>

注意这里的range-key不能带冒号,而且里面的值应该是对象数组中的key

读到这里,这篇“uni-app生成微信小程序报错怎么解决”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

uni-app生成微信小程序报错怎么解决

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

uni-app生成微信小程序报错怎么解决

本文小编为大家详细介绍“uni-app生成微信小程序报错怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“uni-app生成微信小程序报错怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.不允许id
2023-06-29

uni-app开发微信小程序之H5压缩上传图片的问题怎么解决

这篇文章主要讲解了“uni-app开发微信小程序之H5压缩上传图片的问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“uni-app开发微信小程序之H5压缩上传图片的问题怎么解决”吧
2023-07-05

微信小程序获取二维码报错47001怎么解决

错误码47001是指传入的参数不合法。要解决这个问题,需要检查以下几个方面:检查参数是否正确:确保传入的参数符合微信小程序的规范要求,例如判断参数的类型、长度和格式等。检查权限:如果是获取小程序码,需要确保当前用户已经获得了相应的权限,例如
2023-10-26

微信小程序HTTPS请求不成功怎么解决

这篇文章主要介绍“微信小程序HTTPS请求不成功怎么解决”,在日常操作中,相信很多人在微信小程序HTTPS请求不成功怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序HTTPS请求不成功怎么解决
2023-06-26

微信小程序triggerevent没触发怎么解决

当微信小程序中的triggerevent没有触发时,可能是以下几个原因导致的:事件绑定错误:首先要检查代码中的事件绑定是否正确,确保事件绑定的名称和触发事件的名称是一致的。事件触发条件不满足:检查事件触发的条件是否满足,例如,某个按钮的点击
微信小程序triggerevent没触发怎么解决
2024-02-29

怎么使用微信小程序canvas2d生成图形验证码

本篇内容主要讲解“怎么使用微信小程序canvas2d生成图形验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用微信小程序canvas2d生成图形验证码”吧!成品展示:背景:大致看了一下
2023-06-30

怎么理解微信小程序中的生命周期

本篇内容主要讲解“怎么理解微信小程序中的生命周期”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解微信小程序中的生命周期”吧!一、生命周期1. 什么是生命周期?生命周期 (Life Cycl
2023-06-25

微信小程序支付开发遇到的错误怎么解决

今天小编给大家分享一下微信小程序支付开发遇到的错误怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。  第一个坑,获取用
2023-06-26

微信小程序兼容性问题怎么解决

这篇文章主要介绍“微信小程序兼容性问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序兼容性问题怎么解决”文章能帮助大家解决问题。运行环境差异微信小程序运行在三端:iOS、Andro
2023-06-26

微信小程序ssl证书过期怎么解决

微信小程序的SSL证书过期后,需要重新申请、安装证书并更新小程序的域名设置。具体的解决步骤如下:1. 重新申请SSL证书:可以联系SSL证书提供商重新申请有效期更长的SSL证书。2. 安装新的SSL证书:在获得新的SSL证书后,需要在服务器
2023-05-14

微信小程序自定义tabbar问题怎么解决

这篇文章主要介绍“微信小程序自定义tabbar问题怎么解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序自定义tabbar问题怎么解决”文章能帮助大家解决问题。1、首先按照官方组件在app
2023-06-29

微信小程序无法全屏显示怎么解决

如果微信小程序无法全屏显示,可能是因为以下原因:1. 设置了导航栏或者标题栏:在小程序的页面配置文件(app.json)中,可能设置了导航栏(navigationBar)或者标题栏(titleBar),可以尝试去掉这些设置。2. 页面的高度
2023-08-15

微信小程序拉取广告失败怎么解决

检查广告位配置:确保在小程序管理后台正确配置了广告位,并且广告内容符合微信小程序广告政策。检查网络连接:确保手机或网络环境稳定,尝试切换至其他网络环境再次拉取广告。检查广告SDK版本:更新小程序中的广告SDK版本,以确保使用的是最新版本,避
微信小程序拉取广告失败怎么解决
2024-04-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录