微信小程序开发常见问题

      在开发微信小程序时,经常会遇到一些小障碍,有些是小程序还未有此功能或此方式导致的,有些你不知道怎么用,下来来看一下在开发过程中经常遇到的一些问题。

如何获取扫码进来的参数

可以在app.js的生命周期参数如onLaunch(option)的option.query来获取
如参数为myscene,则通过option.query.myscene获取。

微信小程序textarea的内容随着屏幕上下移动的问题

当我们对textarea所在区域设置position为fixed的时候,我们在textarea中输入文字后滚动页面,会发现textarea位置不变,但是textarea中的内容却随着滚动而移动。

解决方法:设置textarea fixed="true"即可

如何使用阿里巴巴矢量图

可看此链接 http://blog.csdn.net/qq_29712995/article/details/79079566


微信小程序实现图片上传



使用微信自带组件picker,属性mode="region"省市区

使用时在电脑上的微信开发者工具演示时显示不出来,需要用微信扫码预览时,在手机上才会显示。



数据双向绑定运用到class中的小细节

<text class="{{clickClass==1?'class1':'class2'}}">点击进入</text>
     注意此处的class1和class2要用引号来包含代表字符串;若没有单引号,它会把class1和class2当作绑定的数据到对应js文件去找,导致结果错误



微信小程序调试

首先得进入小程序开发的预览模式,只有是该小程序的开发者才可以进入开发者模式
然后进入小程序点击页面右上角的下图标志


点击后页面下方会出现下图,之后的操作便一目了然了





不能直接操作 Page.data

避免在直接对 Page.data 进行赋值修改,请使用 Page.setData 进行操作才能将数据同步到页面中进行渲染

怎么获取用户输入

能够获取用户输入的组件,需要使用组件的属性bindblur将用户的输入内容同步到 AppService。

<input id="myInput" bindblur="bindBlur" />
var inputContent = {}

Page({
  data: {
    inputContent: {}
  },
  bindBlur: function(e) {
    inputContent[e.currentTarget.id] = e.detail.value
  }
})

为什么脚本内不能使用window等对象

页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件

为什么 zepto/jquery 无法使用

zepto/jquery 会使用到window对象和document对象,所以无法使用。

wx.navigateTo无法打开页面

一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo

样式表不支持级联选择器

WXSS支持以.开始的类选择器。如:

.normal_view {
  color: #000000;
  padding: 10px;
}

可以使用标签选择器,控制同一类组件的样式。如:使用input标签选择器控制<input/>的默认样式。

input {
  width: 100px;
}

本地资源无法通过 WXSS 获取

background-image:可以使用网络图片,或者 base64,或者使用<image/>标签

如何修改窗口的背景色

使用 page 标签选择器,可以修改顶层节点的样式

page {
  display: block;
  min-height: 100%;
  background-color: red;
}

HTTPS 请求不成功

  1. tls 仅支持 1.2 及以上版本
  2. 部分 Android 机型需要 tls1.0 或者 tls1.1,所以请确保服务器的 tls 版本为 1.0、1.1、1.2

网络请求的 referer

      网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本。

为什么 map 组件总是在最上层

    mapcanvasvideotextarea 是由客户端创建的原生组件,原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。 原生组件暂时还无法放在 scroll-view 上,也无法对原生组件设置 css 动画。


为微信小程序textarea的内容随着屏幕的上下移动问题

       当我对page设置position为fixed的时候,textarea组件出现了一个微妙的bug,在textarea里输入文字后,上下拖动页面时,虽然输入框没有随着上下移动,但是文字却会上下移动。

       解决方法: 设置textarea fixed="true" 即可




©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页