微信小程序大热,很多公司都跟着跑,没办法,谁叫微信牛掰,手里握着6个亿+的活跃用户,这个体量没有人会不重视吧!所以我也加入了一探究竟的大军,开始了小程序的摸索,个人还是很喜欢这套技术路线的,在开发领域来说,数据绑定、Nodejs 这些百花齐放而又灵活自如的开发模式越来越受到青睐。但是任何一门技术,趟坑的过程都是必不可少的,作为老技术人员,也乐在其中了。。
(CST) 渲染层网络层错误
版本:
版本库: v1.9.3 devtool: v2018.03.13
问题:
选择本机图片 wx.chooseImage 然后渲染到画布 ctx.drawImage(imagePath,0,0,300,500) 调试区域出现错误,(CST) 渲染层网络层错误。
解决方法:
关闭翻墙工具,然后重启开发工具
BTW:
貌似新版的开发工具已经解决了这个问题,目测已经可以把开发工具和fan-qiang 工具共存了
move-area 和 movable-view 尺寸动态修改后,移动范围不会更新的问题解决
版本:
版本库: v1.9.3 devtool: v2018.03.13
问题:
movable-area 和 movable-view 修改尺寸后,移动范围会出现错误。
解决方法:
这时候需要重新渲染 movable-area 和 movable-view 组件
<block wx:if="{{drawSign==1}}">
<movable-area>
<movable-view></movable-view>
</movable-area>
</block>
<block wx:else>
<movable-area>
<movable-view></movable-view>
</movable-area>
</block>
通过在 JS 里根据具体逻辑,每次更新
self.setData({
drawSign: !self.data.drawSign
})
组件传参数
版本:
版本库: v1.9.3 devtool: v2018.03.13
方法:
在标签里增加
data-变量名
的方式传递参数,这样可以通过绑定用户操作事件之后的
event.currentTarget.dataset.变量名
的方式获取传递的变量
例如在 wxml 里
<image data-变量名="{{value}}" bindtap="tapToSelected"></image>
那么在 JS 文件里从事件方法里获取变量
tapToSelected: function(evt){
const value = evt.currentTarget.dataset.变量名;
console.log(value);
}
设置全局变量
版本:
版本库: v1.9.3 devtool: v2018.03.13
方法:
在 app.js 里声明
globalData: {
userInfo: null,
other: null,
}
调用方法
getApp().globalData.userInfo;
getApp().globalData.other;
修改 input 和 textarea 的 placeholder 的样式
版本:
版本库: v1.9.3 devtool: v2018.03.13
方法:
一般 wxml 里的代码是这样的
<input type="text" placeholder="请输入你的愿望" placeholder-class="placeholder" />
其实很简单,为input设置了一个 placeholder-class 为 placeholder
.placeholder {
color: #D3D3D3;
}
关于 onHide 方法
版本:
版本库: v1.9.3 devtool: v2018.03.13
问题
这个是小程序提供的页面生命周期函数之一,但是并不是页面离开的时候才会调用这个方法,当模式窗口覆盖的时候也有可能会调用这个方法。
我遇到的坑就是,当我在 onHide 方法里设置一些功能的时候,在调用 wx.chooseImage 方法的时候同样会调用,所以如果不想在这个时候触发的问题,尽量不要写在这个方法里。