最近自己在做小程式練習,分享一下我遇到的小坑
data資料更新
- 直接對this.data進行賦值,是無法更新檢視繫結的資料的,會造成資料不一致
- 需要使用this.setData更新
this.data.key = value
this.setData({
key: value
})
require
- 暫時不支援絕對路徑
const util = require(`../../utils/util.js`)
background-image
- 不能使用靜態檔案,只能使用base64和網路圖片
- 可以用<img>解決
background: #fff url(data:image/jpeg;base64,***)
<image class="logo" src="/images/logo.png" mode="cover"></image>
元件樣式
- app.wxss 的樣式不能應用到元件內部
- 可以按需引用 import: “”
@import "/app.wxss";
textarea
- textarea預設樣式有固定寬度
事件傳參
- 模板裡面事件不能傳參
- 使用event.currentTarget.dataset獲取
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>
Page({
tapName(event) {
console.log(event.currentTarget.dataset.hi)
}
})
animation
- animation不能直接繫結中元件上
- 外面包裹一層<view>
<view animation={{animation}}>
<my-component></my-component>
</view>
checkBox
- checkbox-group繫結的bindChange事件,我們中點選checkbox事件會向上冒泡,導致外層也被點選
- checkBox外面包一層view,給view新增一個catch事件
<checkbox-group bindchange="checkboxChange">
<view bindtap="bindTap">
<view catchtap=`catchTap`">
<checkbox value="{{value}}" checked="{{checked}}"/>
</view>
</view>
</checkbox-group>