微信小程序入门篇,计算器的实现

简介: 微信小程序入门篇,计算器的实现

今天是8月更文活动的最后一天,作为坚持了31天的博主,也算是不容易,有喜欢文章的小伙伴可以帮忙点个赞。今天要写的是微信小程序的入门实战篇,计算器的实现。这是写给微信小程序初学者学习的,大佬可以不用往下看了。

image.png

首先效果图如上图所示。

image.png

这个小程序就是一个单页面的应用,目录中最重要的部分就是这里面。

<view class="result">
<view class=" result-num">{{num}}</view>
<view class="result-op">{{op}}</view>
</view>
<view class="btns">
<view>
<view hover-class="bg" bindtap="resetBtn">AC</view>
<view hover-class="bg" bindtap="numBtn" data-val="0">0</view>

<view hover-class="bg" bindtap="opBtn" data-val="/">÷</view>
<view hover-class="bg" bindtap="opBtn" data-val="*">x</view>
</view>
<view>
<view hover-class="bg" bindtap="numBtn" data-val="7">7</view>
<view hover-class="bg" bindtap="numBtn" data-val="8">8</view>
<view hover-class="bg" bindtap="numBtn" data-val="9">9</view>
<view hover-class="bg" bindtap="opBtn" data-val="-">-</view>
</view>
<view>
<view hover-class= "bg" bindtap="numBtn" data-val="4">4</view>
<view hover-class="bg" bindtap="numBtn" data-val="5">5</view>
<view hover-class="bg" bindtap="numBtn" data-val="6">6</view>
<view hover-class="bg" bindtap="opBtn" data-val="+">+</view>
</view>
<view>
<view hover-class="bg" bindtap="numBtn" data-val="1">1</view>
<view hover-class="bg" bindtap= "numBtn" data-val="2">2</view>
<view hover-class="bg" bindtap="numBtn" data-val="3">3</view>
<view hover-class="bg"  bindtap="opBtn" data-val="=">=</view>

</view>
</view>

我们先看来看看index.wxml中的ui布局写。上面是一个result用来显示打上去的数字和计算结果的。下面就是用一个个按钮排列而成。这里面没有太大的难度。

然后index.js才是重点内容,这是写了应用逻辑的。

const app = getApp()
Page({
  data: {
    num:'',
    op:'0' 
  },
  result: null,
  isClear: false,

上面的数据有数字,操作符,结果,是否清零记录。

 numBtn: function(e) {
if(this.data.op=='=')
{
  this.result = null
  this.isClear = false
  this.setData({ num: '0', op: '' })
}
var num = e.target.dataset.val
if(this.data.num === '0' || this.isClear) {
this.setData({ num: num })
  this.isClear = false 
}
else{
  this.setData({ num: this.data.num + num })
}
 },

这里是数字按键的响应,处理不同情况下数字按钮按下之后的结果。

 opBtn: function (e) {
 var op = this.data.op
 var num = Number(this.data.num)

 this.setData({ op: e.target.dataset.val})
 if (this.isClear) {
return
 }
 this.isClear = true
 if (this.result === null) {
this.result = num
return
 }
 if (op === '+') {
  this.result = this.result + num }
  else if (op === '-') {
    this.result = this.result - num }
    else if (op === '*'){
    this.result = this.result * num}
    else if (op =='/'){
  this.result = this.result / num }
  this.setData({num: this.result + '' }) 
 },

这里是操作符号的响应,也就是对数字进行加减乘除操作。然后将操作完的数字保存到结果里面去。

总的来说,写一个计算器小程序不算太难,有想要学习更多微信小程序知识的,可以关注公众号:诗一样的代码,找我一起学。

相关文章
|
29天前
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
46 1
|
28天前
|
XML 小程序 JavaScript
小程序入门之项目配置说明和数据绑定
小程序入门之项目配置说明和数据绑定
37 1
|
3月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
100 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
28天前
|
小程序 前端开发 JavaScript
小程序入门之认识view和text组件
小程序入门之认识view和text组件
40 0
|
5月前
|
小程序
微信小程序学习笔记(入门篇)
微信小程序学习笔记(入门篇)
61 0
|
5月前
|
监控 小程序 前端开发
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
161 0
|
5月前
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
|
5月前
|
小程序
微信小程序快速入门 - 10分钟入门
微信小程序快速入门 - 10分钟入门
45 0
|
6月前
|
小程序 Java 编译器
性能工具之JMeter 微信小程序 WebSocket 脚本入门
【5月更文挑战第12天】性能工具之JMeter 微信小程序 WebSocket 脚本入门
211 1
|
6月前
|
小程序 JavaScript 容器
微信小程序入门学习02-TDesign中的自定义组件
微信小程序入门学习02-TDesign中的自定义组件

热门文章

最新文章