小程序编程第25课

教程

这节课我们美化一下我们的小程序,然后把计算结果放到下一页。

复制如下代码到index.wxss中去(关于如何美化页面,点击这里学习CSS教程

.row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  height: 50px;
  border-bottom: 1px solid #ddd;
}

input{
  margin-left: 20px;
  flex: 1;
}

button{
  margin-top: 50px;
}


.th,.td {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr 2fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-items: stretch;
  align-items: stretch;
}

然后我们发现页面成这个样子了

在这里插入图片描述
我们要把计算结果放到下一页,所以我们需要再建一个页面

怎么再建一个页面呢?

鼠标放到pages文件夹上,点击右键出现菜单

在这里插入图片描述
选择新建文件夹,输入文件夹名称,result

因为这个页面是用来展示结果的,所以我把名称取为result

然后我们鼠标移动到result文件夹上,点击鼠标右键,点击新建Page

输入页面名称result

然后就出现了4个文件,长地很index页面里面的4个文件差不多,就是名字不同

然后我们需要把结果放到这个页面上来展示,怎么转移过来呢?

我们先转移index.wxml文件中的内容

直接把需要展示内容的代码剪贴到result.wxml中即可

<view>
	计算结果
</view>
<view>
	{{result}}
</view>
<view>
	您输入的本金是{{p}}
</view>
<view>
	您输入的期数是{{n}}
</view>
<view>
	您输入的利率是{{i}}
</view>
<view>
	期末本息和是{{result}}
</view>

<view class="table">
	<view class="th">
		<text>期数</text>
		<text>利息</text>
		<text>累计利息</text>
		<text>累计本息和</text>
	</view>
	<view wx:for="{{items}}" class="td">
		<text>{{item.index}}</text>
		<text>{{item.perInterest}}</text>
		<text>{{item.totalInterest}}</text>
		<text>{{item.total}}</text>
	</view>
</view>

然后保存一下,我们就发现index页面少了结果的那些文字,清爽了不少

我们的result页面在哪呢?

在这里插入图片描述
鼠标移动到最上面,然后点击普通编译,出现了下拉框,点击添加编译模式

在这里插入图片描述
在启动页面输入框中输入pages/result/result 然后点击确定

然后就出现了我们的结果页

但是现在的问题是,我们的结果页并没有数据

我们的结果页需要的数据是result,p,n,i,items

这些东西从哪里来呢?

这些东西需要从上个页面传递过来

如何传递过来?

我们要在index页面中增加一段代码来缓存我们的计算结果等数据

打开index.js文件

在最下方,我们增加如下代码

wx.setStorageSync('result', fv)
wx.setStorageSync('p', p)
wx.setStorageSync('n', n)
wx.setStorageSync('i', i)
wx.setStorageSync('items', items)

这几行代码的意思就是把我们第二个页面需要的变量缓存起来,这里调用的是wx对象的setStorageSync方法

现在我们还需要在result页面中取出这些数据

怎么取呢?

我们打开result.js文件

在data中增加如下几个变量

然后在onLoad方法中增加如下代码

let result = wx.getStorageSync('result')
let p = wx.getStorageSync('p')
let n = wx.getStorageSync('n')
let i = wx.getStorageSync('i')
let items = wx.getStorageSync('items')
this.setData({
	result: result,
	p: p,
	n: n,
	i: i,
	items: arr
})

前几行代码的意思很明显就是把index页面中存起来的值给取出来

然后再把变量设置到data中去

我们需要在data中也增加这几个变量

data: {
	p: '',
   i: '',
   n: '',
   result: '',
   items: []
}

然后我们保存之后,发现还是没有任何变化

为什么?因为目前我们没有在Index页面输入任何数据,所以也没有存储任何结果

我么现在切换到index页面去

鼠标还是移到编译旁边的下拉框上去,点击选择普通编译

我们就到首页了

我们输入之后试试

点击计算后,没有任何反应

我们期望的是,点击计算之后自动跳转到结果页

该怎么办呢?

我们可以在储存完结果之后,调用跳转页面的方法

wx.navigateTo({
  url: '/pages/result/result',
})

增加以上代码即可实现

然后我们的结果页就出来了,但是很丑,没关系,下次我们再给它穿衣服

记得提交保存哦

作业

跟着教程开发出来即可,截图发群里打卡

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰奕辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值