微信小程序 Q&A

不能直接操作 Page.data


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

怎么获取用户输入


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

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

Page({
    data:{
      inputContent: {}
    },
    bindChange: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动画。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《微信小程序 Q&A》
文章链接:https://zhuji.vsping.com/309366.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。