鸿蒙仓颉开发语言实战教程:页面跳转和传参

前两天分别实现了商城应用的首页和商品详情页面,今天要分享新的内容,就是这两个页面之间的相互跳转和传递参数。

首先我们需要两个页面。如果你的项目中还没有第二个页面,可以右键cangjie文件夹新建仓颉文件:

新建的文件里面没什么内容,我们给他添加上4个基础的引用,再简单添加个按钮:

package ohos_app_cangjie_entry.page
import ohos.base.*
import ohos.component.*
import ohos.state_manage.*
import ohos.state_macro_manage.*
@Entry
@Component
public class testPage {
    func build() {
    	Column {
            Button('返回')
    	}
    }
}

页面跳转和返回

仓颉语言有和ArkTs相同的路由Router,不过用法不太一样。在跳转页面的时候,push使用的url,不再是路径,而是直接写页面名称,不用管的路径。比如我刚才新建了页面testPage,跳转的时候就是:

Router.push(url: 'testPage')

当页面需要返回,使用Router.back(),back中可以写url参数,也可以不写。

要注意,这里我们说的页面名称,并不是文件的名字,而是页面的名称。比如index.cj文件,它的页面名称是EntryView而不是index。

传递参数

页面跳转通常伴随着传递参数,在使用push跳转的时候能看到和url并列的还有一个params用来传递参数,它支持两种类型,string和JsonObject。

只需传递一个参数的时候我们可以直接传递string类型的参数:

Router.push(url: 'testPage', params: '100')

在下一个页面接收的参数的时候也要使用Router:

Router.getParams()

同样的,在返回上一级页面的时候也可以同样的方式传递参数,接收参数也是一样的。

Router.back(url: 'EntryView',params:'参数2')

在需要传递多个参数的时候,我们需要使用JsonObject类型,这是一个全新的数据类型,幽蓝君使用它的时候颇费了一番周折。好在看了这篇文章的友友不用再浪费时间了,它是这样用的:

var map = JsonObject()
map.put("name", JsonString("衬衫"))
map.put(“size”, JsonString(“xl”))
Router.push(url: 'testPage', params: map)

在下一个页面接收多个参数时,要使用Router.getParamsObject():

let obj =  Router.getParamsObject()
let a =  obj['name']

AppLog.info('接收多个参数:' + a.toString())

以上就是仓颉开发语言中的页面跳转和传参。##HarmonyOS语言##仓颉##购物#

#harmonyos#
全部评论

相关推荐

06-23 20:11
北京大学 Python
个人简历 姓名洪铭皓 联系方式[联系电话] | [电子邮箱] | [现居地] 求职意向数据分析师/算法工程师/量化研究员/金融分析师 教育背景北京大学 | 数学与应用数学专业 | 本科 |  - GPA:3.8/4.0,专业排名前5%,获国家奖学金(2次)、北京大学三好学生标兵- 核心课程:数学分析、高等代数、概率论与数理统计、数值分析、实变函数、运筹学、随机过程、机器学习(95/100)、数据结构与算法设计(92/100) 学术与项目经历 1. 基于深度学习的图像识别优化项目- 使用Python与PyTorch搭建ResNet模型,通过数据增强与迁移学习优化,将MNIST数据集识别准确率提升至99.2%,并在CIFAR-10数据集上达到88.5%准确率,撰写技术报告50+页。2. 量化投资策略开发- 运用Python的Pandas、Numpy及Tushare金融数据接口,对沪深300成分股进行时间序列分析,构建多因子选股模型,回测年化收益率达18%,超额收益8%。3. 复杂网络中的社区发现算法研究- 研究Louvain算法与GN算法,基于NetworkX库实现算法改进,在合成数据集与真实社交网络数据上,将模块度优化效率提升30%,成果发表于校级学术期刊。 竞赛与荣誉 - 全国大学生数学建模竞赛 国家一等奖团队基于随机森林与灰色预测模型,解决电力负荷预测问题,方案被评为“优秀案例”。- 美国大学生数学建模竞赛 针对全球气候变化问题,构建动态系统模型并提出政策优化建议,获评委高度评价。- 丘成桐大学生数学竞赛 分析与微分方程方向银奖- 连续三年获北京大学一等奖学金、校级优秀学生干部 技能与证书 - 编程能力:熟练使用Python、C++,熟悉SQL、MATLAB;掌握Pandas、Scikit-learn、TensorFlow等工具库。- 数据分析:精通Excel数据处理与可视化,熟练使用Tableau、Power BI进行商业分析。- 数学工具:精通LaTeX学术写作,熟悉MATHEMATICA符号计算与数值模拟。- 语言能力:英语CET-6(620分),托福110,可进行全英文学术交流与技术文档撰写。- 证书:CFA一级(通过)、证券从业资格证、计算机二级(Python) 自我评价具备扎实的数学理论基础与数据分析能力,擅长将数学模型转化为实际解决方案。拥有丰富的科研与项目经验,逻辑思维严谨,学习能力强,对金融科技、人工智能领域充满热情。注重团队协作,擅长沟通表达,致力于在数据驱动的领域发挥专业优势。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务