本帖最后由 不二如是 于 2023-6-30 16:21 编辑
可以这样对该代码进行优化:
1. 抽离计算器按钮的数据到一个数组中:
const buttons = [
{ id: id1, text: '退格' },
{ id: id2, text: '清屏' },
// ...
]
2. 在data中定义这个数组:
data: {
buttons: buttons
}
3. 使用循环渲染按钮:
<view class="btnGroup">
<view
class="item orange"
bindtap="clickButton"
id="{{item.id}}"
wx:for="{{buttons}}"
wx:for-item="item"
>
{{item.text}}
</view>
</view>
4. 为了区分不同行的按钮,可以在buttons数组中增加一个type字段,表示颜色,然后在wx:for循环中通过这个字段设置class:
const buttons = [
{ id: id1, text: '退格', type: 'orange' },
{ id: id2, text: '清屏', type: 'orange' },
// ...
]
<view
class="item {{item.type}}"
bindtap="clickButton"
id="{{item.id}}"
wx:for="{{buttons}}"
wx:for-item="item"
>
{{item.text}}
</view>
5. 可以把屏幕数据screenData也抽离到data中,通过变量渲染:
<view class="screen">
{{screen}}
</view>
这样,通过循环渲染和变量,可以使这个计算器代码更加结构清晰,维护更容易。
这是使用微信小程序进行优化和重构的一个很好的示例。可以运用的技巧有:
1. 数据抽离到数组
2. 循环渲染
3. 通过变量渲染
4. 添加分类字段,并在循环渲染中使用
|