• view标签下hover必须为true时,设置hover-class才有效,hover-start-time和hover-stay-time的形式如下:
 
  1. < view class="v1" hover="true" hover-class="v1_changed" hover-start-time="1000" hover-stay-time="500">1< /view>
 
  1. /* pages/index/scroll_view.wxss*/
  2. .scroll-x{
  3. flex-direction: row;
  4. display: -webkit-flex;
  5. display: block;
  6. white-space: nowrap;
  7. /*flex-wrap: nowrap;*/
  8. width: 500rpx;
  9. }
  • white-space属性 
    normal: 正常无变化(默认处理方式.文本自动处理换行.假如抵达容器边界内容会转到下一行; 
    pre: 保持HTML源代码的空格与换行,等同与pre标签; 
    nowrap: 强制文本在一行,除非遇到br换行标签;

  • ===和==的区别:==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,只要类型不匹配就返回flase;简而言之就是 "==" 只要求值相等; "===" 要求值和类型都相等;

  • scroll-into-view 
    值应为某子元素id,则滚动到该元素,元素顶部对齐滚动区域顶部;此属性只对纵向排列的元素生效

  • 小程序下拉刷新上拉加载的两种实现方法 
    1.直接在js文件里写入onPullDownRefresh:function(){}和onReachBottom:function(){}; 
    2.在scroll-view里设定bindscrolltoupper和bindscrolltolower,然后在js里写好触发事件;

  • swiper滑块视图容器 
    其中swiper-item仅可以放在swiper组件中,且宽高自动被设置为100%;

 
  1. < swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" current='1' interval="1000" duration="10a00" circular="{{cicular}}">
  2. < swiper-item>
  3. < view style=" height: 300rpx">\</view>
  4. < swiper-item>
  5. < swiper-item>
  6. <view style="background-color: red; height: 300rpx">\</view>
  7. < swiper-item>
  8. < swiper-item>
  9. < view style=" height: 300rpx">\</view>
  10. < swiper-item>
  11. < swiper>
  • 元素展示技巧
 
  1. <block wx:for="{{type}}">
  2. <icon type="{{item}}" size="40" color="red">\</icon>
  3. < block>
  • function(e) 
    e是event,代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。 
    事件通常与函数结合使用,函数不会在事件发生前被执行!

  • 常见写法

 
  1. var textnow = "这是一个关于text的例子"
  2. var textdata = [];
  3. Page({
  4. data:{
  5. tex:textnow
  6. },
  7. add:function(e){
  8. textdata.push('push')
  9. this.setData({
  10. tex:textnow+textdata[0]
  11. })
  12. },
  13. remove:function(){
  14. textdata.pop()
  15. this.setData({
  16. tex:textnow
  17. })
  18. }
  19. })
  • progress的属性放在wxss里没有作用,只能放在wxml中;
  • button中size只有两个属性default和mini,其它参数设置不起作用;
  • primary和warn属性的button,在hover-class的情况下,设置background-color不起作用,即只有default在设置background-color时会发生改变;
  • rgba里的a是透明度;
  • indexOf 
    indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置;

    stringObject.indexOf(searchvalue,fromindex) 
    该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

注:indexOf() 方法对大小写敏感! 
注:如果要检索的字符串值没有出现,则该方法返回 -1;

应用:前端的表单情况怎么传递和记录

 
  1. radioChange: function(e) {
  2. var checked = e.detail.value
  3. var changed = {}
  4. for (var i = 0; i < this.data.radioItems.length; i ++) {
  5. if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
  6. changed['radioItems['+i+'].checked'] = true
  7. } else {
  8. changed['radioItems['+i+'].checked'] = false
  9. }
  10. }
  11. this.setData(changed)
  12. }
  • const 
    const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的(静态变量);

  • label标签的for属性 
    label有两个属性,一个是for,一个是accesskey。 
    for的意思是,让这个label为哪个控件服务; 
    accesskey则定义了访问这个控件的热键; 
    单选钮、复选框都要点击控件才能选中控件,而如果使用标识就可以实现点击文字选取。

 
  1. <form>
  2. <label for="male">Male</label>
  3. <input type="radio" name="sex" id="male" />
  4. <br />
  5. <label for="female">Female</label>
  6. <input type="radio" name="sex" id="female" />
  7. </form>

注意:标签的 for 属性中的值应当与相关控件的 id 属性值一定要相同。

 

附录:说说微信小程序开发的那些坑

作者:F_ck_null,原文地址

 

坑一:Content-type问题

坑指数:★★★★★

官网里面的示例代码中content-type是设置为'application/json'的,然而……!!!

无限黑人问号,怀疑过豆瓣的接口的问题,怀疑过网络问题,怀疑过人生......

但是原来是微信开发工具升级后(目前是0.12),请求的header的Content-type写法变了,要改成:

header: { 
content-type: 'json' 
}

这样就可以请求成功了! 
p.s:这个问题在交流群遇到最多的提问,微信的文档害人不浅啊...

 

坑二:Promise库问题

坑指数:★★

相信很多前端开发人员都喜欢使用Promise,然而目前微信开发工具版本(0.12)不支持Promise,需要自己引用,Bluebird作为最受欢迎的Promise库之一,很多人都会使用它。

引入后本地开发没问题,十分顺利,iOS运行也可以,但是Android一打开就会显示‘发生未知错误’

如果是引入了Bluebird,安卓又提示这样的错误,那你需要做的就是换掉Bluebird,比较多人建议是的使用https://github.com/stefanpenner/es6-promise ,es6-promise-min只有6kb,下载后把原来的Bluebird替换即可。

 

坑二:Object.assign问题

坑指数:★★★

此坑一般在开发工具开发的时候不会展现,但是Android真机调试的时候问题就来了...

具体症状看你在哪里运用了,小的开发是在request的地方使用了,导致在Android机上数据显示不了(微信开发工具和iOS都正常),最后把Object.assign处理好就ok了

另外根据一些前辈谈及,使用es6会在Android上遇到各种奇奇怪怪的问题,如果遇上只在Android上的问题,可以怀疑是不是使用了什么es6特性。

tips:微信小程序最后的页面大部分都web页,所以一些Android在web上不支持的es6特性,在小程序里面也是有问题的,不过我们还是可以使用强大的babel进行转换。

微信小程序自学过程中遇到的问题 转的更多相关文章

  1. 微信小程序在开发中遇到的问题与解决方法

    1.  √ 这种错误多半是该js文件中没有Page这个方法,就算是空的js也必须要把Page({ })写上去 2.  √ 这种错误多半是该json文件没有内容,所以必须要加上{ },就算是空内容也要加 ...

  2. 微信小程序实际开发中学习

    三个概念 微信:就是一个聊天工具 微信公众号:企业或个人用于管理其粉丝/用户的应用(类似于APP) 微信小程序:不需要下载安装直接可以使用的软件/应用/APP 小程序与公众号的区别: 定位不同(小程序 ...

  3. 微信小程序日常开发中常遇到的错误代码

    在开发过程中,会遇到很多微信返回的状态码,鬼知道代表什么意思,现在好了,整理总结了一份状态码,方便大家. 微信小程序错误码参考 状态码(场景值) 说明  -1 系统繁忙  0 请求成功  40001 ...

  4. 微信小程序开发——模板中加载html代码

    最新方法可以使用微信小程序提供的 rich-text (富文本)组件直接写解析html,详见 rich-text: <rich-text class='f13 c_9' nodes=" ...

  5. 微信小程序wxml文件中调用自定义函数

    想在微信小程序的wxml文件里自如的像vue那样调用自定义的方法,发现并不成功,得利用WXS脚本语言. WXS脚本语言是 WeiXin Script 脚本语言的简称,是JavaScript.JSON. ...

  6. 【转发】【小程序】微信小程序日常开发中常遇到的错误代码

    还在为看不懂小程序错误状态码纠结吗?这里推荐一篇文章 重要的事情说三遍:原文链接  https://www.cnblogs.com/webonline/p/7528778.html 作者:玩世不恭. ...

  7. 微信小程序自学第一课:工程目录结构与.json文件配置

    注册成为开发者 地址: https://mp.weixin.qq.com/cgi-bin/wx 开发者工具下载地址 https://mp.weixin.qq.com/debug/wxadoc/dev/ ...

  8. ios下,微信小程序scrollview组件中的fixed元素抖得和帕金森病人一样

    问题现象 这个问题是最近在优化小程序代码时发现的. 在ios环境下,微信小程序的scrollview组件包裹着一个position:fixed的view. 当在scrollview组件上滑动时,这个v ...

  9. 微信小程序session_key解析中反斜杠问题处理 Java解析

    Java服务端微信小程序解密用户信息.手机号需用到session_key也需要decode,以下是官方描述: 加密数据解密算法 接口如果涉及敏感数据(如wx.getUserInfo当中的 openId ...

随机推荐

  1. LightOJ 1220 Mysterious Bacteria(唯一分解定理 + 素数筛选)

    http://lightoj.com/volume_showproblem.php?problem=1220 Mysterious Bacteria Time Limit:500MS     Memo ...

  2. Android - Telephony API 1.5

    TelephonyManager: 1. public String getDeviceSoftwareVersion() : software version number, ex: IMEI/SV ...

  3. django系列3.3--CBV 和 FBV

    一.CBV和FBV FBV function base views 用函数方法来处理请求 from django.http import HttpResponse def my_view(reques ...

  4. django系列5.2--ORM数据库的单表操作

    单表操作 在views.py中添加对数据库的操作语句 #在逻辑代码中导入你要操作的表 from app import models def add_book(request): ''' 添加表记录 : ...

  5. Syncthing源码解析 - 在Gogland中对Syncthing的各个模块进行调试?

    Syncthing的模块很多,各自负责不同的功能,如何能够对各个模块进行调试?Syncthing开发者早就想到这个问题了,允许开发者对任意模块进行单独调试,也允许同时对所有模块调试,调试方式是打印各个 ...

  6. Java按位取反运算符“~”的工作原理

    说明:本文参考了文章<Java按位取反运算符“~”>,链接:https://blog.csdn.net/smilecall/article/details/4245447 补充:位运算符( ...

  7. Word2007文档中怎么输入上标下标

    1.Word中输出Z = X2 + Y2 此公式流程: 首先在Word中写入:Z = X2 + Y2: 方法1:选中X后面的2,再按组合键“Ctrl+Shift+加号键”即可,如此操作Y后面的2即可.

  8. javascript获取wx.config内部字段解决微信分享

    转自:http://www.jb51.net/article/80679.htm 专题推荐:js微信开发_脚本之家 http://www.jb51.net/Special/879.htm 背景在微信分 ...

  9. 调用jdbc已经写成的方法----jdbc工具类抽取方式三

    package jdbc_demo3; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.R ...

  10. iOS --UIScrollView的学习(二)

    1.接着上一次的说:http://www.cnblogs.com/fengzhihao/p/5287734.html,这次讲一下UISCrollView的缩放功能. 2.当用户在UIScrollVie ...