0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

小程序开发如何跳转页面和实现参数的传递与视图层显示

Wildesbeast 来源:今日头条 作者:IT小超 2020-02-18 12:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近在研究小程序开发,看了一些官网文档,我们今天就来学习一下如何跳转,顺便把跳转过程中的参数传递,以及接收赋值到模板中显示学习了。

首先我们创建一个小程序,填写项目名称,以及路径,这里AppID我用的测试账号。

我们进入到开发页面显示的默认代码中Pages目录中只有index和logs,小程序页面一般都包裹.js文件主要是逻辑层的一些内容,.json文件主要作用是页面的独立配置文件,wxml文件主要是我们直观显示的页面相当于html,wxss文件主要是用于页面的样式相当于css,不对赘述详细可以看官方文档,这里主要讲页面跳转以及传参。

我们首先增加一个新的页面test,创建的时候,系统会自动在app.json中创建一条路由,还有更简单的办法,直接在app.json中添加一条路由,系统就会帮你直接创建相对应的内容,这里要注意的是,如果删除页面,路由是不会自动删除的,需要手动删除一下,路由也是一样。

接下来我们改造一下首页的内容,index文件夹中的index.wxml,增加跳转,小程序中是没有a标签的,跳转的标签是,这样就可以正常跳转到设置好的页面了。

除了这种类似于a标签的跳转,小程序还集成api按钮跳转,只需要在button中设置bindtap参数即可,bindtap这个是小程序的事件绑定,写法,同样是在index.wxml中写,这里js中事件没有写报错,和回调等。关于跳转有多种api,根据官方文档,我们文中使用的是navigateTo会保留当前页面,跳转到应用内的某个页面,另外还有redirectTo是会关闭当前页面,跳转到应用内的某个页面,以及navigateBack关闭当前页面,返回上一页面或多级页面等,具体可以查询一下官网文档,或者在文章下方回复。

接下来我们讲怎么传递参数以及接收参数,传递很简单没什么可说的,直接上代码了

接下来我们说一下如何接收传递过来的参数,接收过来的数据是放在options中的,我们直接用console.log打印一下。

我们在onLoad中可以直接打印出来了,onLoad会在创建页面的时候执行,所以跳转之后会直接打印出来。

接下来我们讲怎么把传递过来的数据显示出来,需要对js以及wxml文件进行一定的改造,我先改造一下test.wxml

既然要获取数据就要在js文件中操作,这里要提到setData, 这个函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步),看到网上有说用this.data的,官网文档特别说明了一下,是不行的,原文在这里:直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致。

最后上一张效果图:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • APP
    APP
    +关注

    关注

    33

    文章

    1596

    浏览量

    76196
  • 程序
    +关注

    关注

    117

    文章

    3849

    浏览量

    85589
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    智能显示模块怎么创建新的显示画面?怎么添加新的显示页面

    智能显示模块怎么创建新的显示画面?怎么添加新的显示页面
    发表于 03-17 11:34

    开发工作流创建工作流

    择要使用的节点。 2、将节点按任务流程相连接。 3、配置节点的输入和输出参数 测试并发布工作流 开发者如需在智能体内使用该工作流,必须先完成工作流的上架。 1、单击【试运行】,运行成功的节点边框将显示
    发表于 03-10 10:05

    传递、指针传递、引用传递介绍

    1、值传递:形参时实参的拷贝,改变函数形参并不影响函数外部的实参,这是最常用的一种传递方式,也是最简单的一种传递方式。只需要传递参数,返回值
    发表于 01-21 06:48

    京东:调用用户行为API分析购买路径,优化页面跳转逻辑

    ​  在电商平台的激烈竞争中, 用户购买路径的流畅性 直接影响转化率。京东通过深度整合用户行为API,构建了完整的购买路径分析体系,显著优化了页面跳转逻辑。以下是关键技术实现路径: 一、用户行为
    的头像 发表于 09-18 14:38 899次阅读
    京东:调用用户行为API分析购买路径,优化<b class='flag-5'>页面</b><b class='flag-5'>跳转</b>逻辑

    知乎开源“智能预渲染框架” 几行代码实现鸿蒙应用页面“秒开”

    ,交互延迟等核心痛点,通过智能预测用户浏览目标进行提前渲染,只需几行代码即可显著提升复杂页面的加载性能,实现页面秒开”的高效体验,为鸿蒙开发者带来
    的头像 发表于 08-29 14:32 773次阅读
    知乎开源“智能预渲染框架” 几行代码<b class='flag-5'>实现</b>鸿蒙应用<b class='flag-5'>页面</b>“秒开”

    K230上使用图层layer = Display.LAYER_OSD2显示完图像后,怎么关闭这个图层不再显示

    K230上使用图层layer = Display.LAYER_OSD2显示完图像后,怎么关闭这个图层不再显示,而继续显示
    发表于 08-08 07:53

    【润开鸿HH-SCDAYU800A开发板试用体验】第2個桌面簡單的程序显示为2页面

    | 接上文 【润开鸿HH-SCDAYU800A开发板试用体验】第2個桌面簡單的程序天气及预报 创建跳转后的页面Second.ets 创建第二个页面
    发表于 07-30 10:41

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、生命周期阶段: 创建阶段 build: 构建组件
    的头像 发表于 07-11 18:24 1233次阅读

    【汇思博SEEK100开发板试用体验】06 天气app--使用组件导航实现设置页及页面跳转

    ,支持在不同组件间传递跳转参数,提供灵活的跳转栈操作,从而更便捷地实现对不同页面的访问和复用。本
    发表于 07-09 16:57

    鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,实现便捷跳转,新手攻略。(1/3)

    commons公共能力层、features基础特性层和products产品定制层,最后将entry模块重构至产品层并重命名。通过该架构可实现HMRouter嵌入和页面自由跳转。(149字)
    的头像 发表于 06-30 22:17 1069次阅读
    鸿蒙NEXT-鸿蒙三层架构搭建,嵌入HMRouter,<b class='flag-5'>实现</b>便捷<b class='flag-5'>跳转</b>,新手攻略。(1/3)

    利用onPageShow实现返回刷新的操作

    最简单的……还是用onPageShow,因为onPageShow的意思是:当这个页面显示以后执行什么代码。我们以刚刚场景中的第一种为例,假设贴子列表页为A,新增贴子的页面为B,从A跳转
    发表于 06-30 18:12

    bindsheet+键盘在页面跳转时的bug及处理思路

    输入框,图片如下: ​ 当用户输入了金额数字后,点击“去计算”按钮,则通过router跳转到费用计算页面显示计算结果。 我原先的代码顺序是,先跳转到新的
    发表于 06-30 17:36

    关于生命周期中的aboutToAppear和onPageShow的理解和应用

    通过异步去实现耗时的操作,而onPageShow里面的代码要考虑到因为页面跳转返回所导致的反复触发的问题 示例代码: aboutToAppear(): void { // 获取传递
    发表于 06-30 17:32

    英语单词学习页面+单词朗读实现 -- 【1】页面实现 ##HarmonyOS SDK AI##

    ​先看一下页面效果 ​ 整体页面是一个比较简洁的页面,其中有两个特色功能 对于例句中,能够实现将当前的单词从句子中进行识别并突出显示 对于单
    发表于 06-29 23:24

    ArkUI-X在Android上使用Fragment开发指南

    本文介绍将ArkUI框架的UIAbility跨平台部署至Android平台Fragment的使用说明,实现Android原生Fragment和ArkUI跨平台Fragment的混合开发,方便开发
    发表于 06-12 22:42