小程序开发记录
1. 引用本地静态图片时,将图片转成base64的格式
let image = '/statics/home-icon.png' let base64 = wx .getFileSystemManager() .readFileSync(image, "base64"); let imagebase64 = "data:image/jpg;base64," + base64
2. 手动返回上一级页面
let pages = getCurrentPages(); //获取小程序页面栈
let prePage = pages[pages.length-2];//获取上个页面的实例对象
prePage.setData({ user_photo:JSON.parse(base64.decode(cdata.data)) }) wx.navigateBack({ delta: 1 })
3. 一个页面有多个input输入框需要赋值时,简洁写法
wxml结构页面
<form bindsubmit="forbidSubmit" class="rejectBox"> <view class="rejectReason"> <textarea value="{{ forbidReason }}" bindinput="handleInput" data-name="forbidReason" placeholder="请输入禁言原因" auto-focus name="textarea" /> </view> <view class="rejectBtn"> <button class="mini-btn" size="mini" bindtap="onClose">取消</button> <button class="mini-btn reject" size="mini" form-type="submit"> 提交 </button> </view> </form>
js
Page({ data: { forbidPersonId:null }, handleInput (e) { let { currentTarget: { dataset: { name }, },detail:{ value }, } = e; this.setData({ [name]:value }) }, async forbidSubmit(e) { }, })
4. 小程序的xml中使用js的方法
第一种:直接在wxml文件中写<wxs>标签
<wxs module="dateModule"> var now = getDate(); module.exports = { date: now } </wxs> <view>当前时间:{{dateModule.date}}</view>
第二种:新建一个test.wxs文件,然后在wxml页面中引用,
// pages/dateTool.wxs var now = getDate(); var format = function(lastDate) { var date = getDate(lastDate); return date.toLocaleString(); } module.exports = { date: now, format: format }
<!-- page/index/index.wxml --> <wxs src="../dateTool.wxs" module="dateTool"></wxs> <view>{{dateTool.date}}</view>