• 【小程序】小程序开发大大小小的坑


    1. 文本是数字类型会在底部增加空白间距?

    解决方式:添加全局文本格式:
    font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif;

    2.wss无法使用background-image属性:

    解决方式:使用相对布局添加image控件充当背景

    3.navigateTo无法跳转回带有tab的页面

    解决方式:新版本的微信小程序使用了switchtab作为跳转的方法

    4.在js文件的回调方法里面无法使用setData?

    解决方式:当你使用了回调函数后,上下文环境已经改变,var that = this,使用自定义的变量来改变数据

    5.page的js方法在那里写?

    解决方式:在pages外面写,或者在外部写一个js方法,然后使用require引入

    6.为什么我总是定位不到资源文件?

    ../,这个代表回退上一层,自己慢慢数

    7.小程序的传值问题

    传值分三种一种是点击事件,一种是跳转事件
    点击事件,需要在wxml里面声明data-(变量名),然后在e-currentarget-dataset-(变量名)
    跳转事件,在navigator的url后面补上变量名和对应的值,例如跳转到../../index/index,加上变量就是../../index/index?name=marco&sex=male
    页面回调的传值有两种方式:1.现在是在通过app.js的全局来调用 2.获取上一个页面的page,通过page.setData来更新数据,不过,还是希望tx能够提供一种更优雅的方式吧

    8.pages的取值问题

    1. data的值,需要在前面加上this.data.(变量名)
    2. 外部js里面的值,先导入js文件,var name = require(js url) 值为:name.value

    9.target和currentarget的区别

    用户进行点击事件,小程序会进行事件分发,先子控件,然后在分发到父控件
    target是当前点击事件
    currentarger是事件分发

    10.小程序button的默认边框问题

    因为button的css伪元素::after里面有一个border:1px solid rgba(0, 0, 0, 0.2),去掉就可以了

    11.js里面的数据默认是64位的,所以自己小心

    12.从网页里面获取到的数据可能是ISO或者其它类型的转码问题

    实际上,一切都通常以内部的某种形式存储为Unicode,但不要进行。我假设你得到了标志性的”åäö”类型的字符串,因为你使用ISO-8859作为你的字符编码。有一个诀窍可以转换这些字符。针对ISO字符定义了用于编码和解码查询字符串的escape和unescape函数,而为UTF8字符定义了较新的encodeURIComponent和decodeURIComponent。
    escape将扩展的ISO-8859-1字符(UTF代码点U + 0080-U + 00ff)编码为%xx(two-digit十六进制),而将U + 0100及以上的UTF码点编码为%uxxxx(%u,后跟four-digit十六进制)。例如, escape("å") == "%E5"和escape("あ") == "%u3042"。
    encodeURIComponent percent-encodes将字符扩展为UTF8字节序列。例如,encodeURIComponent("å") == "%C3%A5"和encodeURIComponent("あ") == "%E3%81%82"。
    所以你可以做:fixedstring = decodeURIComponent(escape(utfstring));
    如果是发送请求的话,可以使用utfstring = unescape(encodeURIComponent(originalstring));

    13.小程序尺寸单位问题

    rpx:可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。
    rem:则是以640为设计

    14,小程序遵循xhtml规范,html标签全部都是小写

    小程序wxml在js传值的时候(即data-变量名的形式),变量名是不区分大小写的,可是js里面是区分大小写的,所以在wxml里面设置的变量,在js里面都以小写形式存在!然而在js传值wxml(即{{变量名}})的时候,是区分大小写的

    15,小程序点击事件传递

    点击事件的话,默认是会传递给上层的数据
    所以,设置点击事件的时候,需要拦截阻止事件分发给下层布局,将longtap转成catchtap就可以了

    16.小程序支付

    微信小程序的appid和mch_id是相对的,签名的时候注意场景支付的不一样

  • 相关阅读:
    LVS/NAT 配置
    LVS 介绍
    Nagios 服务安装
    Mysql 主从复制搭建
    GitHub托管BootStrap资源汇总
    基于bootstrap的datatable控件
    微信在线客服系统-微信公众平台开发
    UI Prototype Design IDE( 界面原型设计工具 )
    vlc多功能播放器
    javaC#php主流语言实现FMS流媒体传输协议RTMP的开源组件
  • 原文地址:https://www.cnblogs.com/marcohorse/p/8267745.html
Copyright © 2020-2023  润新知