微信小程序自学过程中遇到的问题 转
- view标签下hover必须为true时,设置hover-class才有效,hover-start-time和hover-stay-time的形式如下:
< view class="v1" hover="true" hover-class="v1_changed" hover-start-time="1000" hover-stay-time="500">1< /view>
关于Flex属性的总结:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html
完成scroll-x例子的过程中,用flex-warp元素没办法在一排,用white-space能得到想要的效果;
/* pages/index/scroll_view.wxss*/
.scroll-x{
flex-direction: row;
display: -webkit-flex;
display: block;
white-space: nowrap;
/*flex-wrap: nowrap;*/
width: 500rpx;
}
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%;
< swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" current='1' interval="1000" duration="10a00" circular="{{cicular}}">
< swiper-item>
< view style=" height: 300rpx">\</view>
< swiper-item>
< swiper-item>
<view style="background-color: red; height: 300rpx">\</view>
< swiper-item>
< swiper-item>
< view style=" height: 300rpx">\</view>
< swiper-item>
< swiper>
- 元素展示技巧
<block wx:for="{{type}}">
<icon type="{{item}}" size="40" color="red">\</icon>
< block>
function(e)
e是event,代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。
事件通常与函数结合使用,函数不会在事件发生前被执行!常见写法
var textnow = "这是一个关于text的例子"
var textdata = [];
Page({
data:{
tex:textnow
},
add:function(e){
textdata.push('push')
this.setData({
tex:textnow+textdata[0]
})
},
remove:function(){
textdata.pop()
this.setData({
tex:textnow
})
}
})
- 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;
应用:前端的表单情况怎么传递和记录
radioChange: function(e) {
var checked = e.detail.value
var changed = {}
for (var i = 0; i < this.data.radioItems.length; i ++) {
if (checked.indexOf(this.data.radioItems[i].name) !== -1) {
changed['radioItems['+i+'].checked'] = true
} else {
changed['radioItems['+i+'].checked'] = false
}
}
this.setData(changed)
}
const
const修饰的数据类型是指常类型,常类型的变量或对象的值是不能被更新的(静态变量);label标签的for属性
label有两个属性,一个是for,一个是accesskey。
for的意思是,让这个label为哪个控件服务;
accesskey则定义了访问这个控件的热键;
单选钮、复选框都要点击控件才能选中控件,而如果使用标识就可以实现点击文字选取。
<form>
<label for="male">Male</label>
<input type="radio" name="sex" id="male" />
<br />
<label for="female">Female</label>
<input type="radio" name="sex" id="female" />
</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进行转换。
转载于:https://www.cnblogs.com/sekai/p/6611829.html
微信小程序自学过程中遇到的问题 转相关推荐
- 微信小程序登录过程中,实现数据解密操作
1. pom文件引入如下依赖 <dependency><groupId>org.bouncycastle</groupId><artifactId>bc ...
- 微信小程序自学笔记-----文本和字体样式设置
微信小程序自学笔记-----文本和字体样式设置 用于自己自学微信小程序知识点总结,新手小白一枚,请大佬勿喷 知识要点 · 各种字体样式属性命名及含义 · 利用style和class设置字体样式的方法 ...
- 微信小程序 使用vant-weapp中的索引栏右侧点不动,滚定索引失效问题
微信小程序 使用vant-weapp中的索引栏右侧点不动,滚定索引失效问题 vant的索引栏只要使用了定位,或者自定义头部,那么vant的索引栏就会出现各种BUG,基本不能用,这里我是基本重新写了一个 ...
- 微信小程序在开发中遇到的问题与解决方法
微信小程序在开发中遇到的问题与解决方法 参考文章: (1)微信小程序在开发中遇到的问题与解决方法 (2)https://www.cnblogs.com/zjjDaily/p/8032142.html ...
- 微信小程序云函数中的数据处理后返回
微信小程序云函数中的数据处理后返回 本文主要演示的是,在微信云函数中调用数据库后,如何对获取的内容在云函数内处理后返回. 主函数 exports.main = async (event, contex ...
- 微信小程序input框中加入小图标的实现方法
最近入坑小程序,要求在小程序的输入框中展示一个小图标,页面如下: 然后按照,html页面中的做法,在input框中添加了background-image属性,出乎意料的事,小程序报了下边这样一个错误: ...
- 微信小程序 登录过程
微信小程序 登录过程 本文由笔者自己经验所得,不妥之处还望指教: 微信代码 php后端代码 流程 小程序请求code 小程序请求encryptedData 后端请求session_key 后端解密 小 ...
- 微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化
微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化 在小程序中,我们一般在app.js的onLaun ...
- 微信小程序,数据库中插入表情
微信小程序,数据库中插入表情 错误提示 使用的是django做的后台 错误提示 django.db.utils.InternalError: (1366, "Incorrect string ...
最新文章
- 聊聊storm的stream的分流与合并
- iMeta:青岛大学苏晓泉组开发跨平台可交互的微生物组分析套件PMS(全文翻译,PPT,视频)...
- 笔记-信息系统安全管理-信息系统安全等级保护基本要求
- ie浏览器不支持多行隐藏显示省略号
- tbb flow graph node types
- chackbox的值 php获取_最详细最全的PHP面试题(附答案)
- sqoop从mysql导入hdfs_sqoop 从mysql导入数据到hdfs、hive
- linux安装常用命令工具包wget,cmake等
- Linux RMAP
- 利用python scapy包进行抓包发包与ARP扫描
- php 基础系列之 php快速入门
- 只有我能做的工作,权限关了?
- jeesite如何已生成数据的数据源_JeeSite如何正确连接SQL SERVER 数据库
- Hadoop整理四(Hadoop分布式计算框架MapReduce)
- 淘宝购物流程图 基本流和备选流以及测试用例
- 葡萄城报表模板库再次更新!补充医院Dashboard及房地产销售行业报表
- 手机远程计算机桌面,远程桌面预览Windows10,您可以远程通过手机控制电脑
- 关于 Android 中 TabLayout 下划线适配文字长度解析(附清晰详细的源码解析)
- window 文件夹 标题栏 工具栏不见了
- 将String字符串转化为int