当前位置:   article > 正文

arkTS中实现页面跳转_arktx做页面

arktx做页面

arkTS中使用router进行页面跳转与数据传递操作

本文章仅使用于初学者快速上手实现功能,未对相应理论知识做出解释

第一步:创建跳转前的页面Index.ets和跳转后的页面Second.ets

                

第二步:配置路由地址

        在目录resources/base/profile下有一个文件main_pages.json,在该文件中添加跳转后的页面Second.ets的地址

  1. {
  2. "src": [
  3. "pages/Index",
  4. "pages/Second"
  5. ]
  6. }

第三步:上代码

跳转前页面Index.ets代码

  1. //导入router
  2. import router from '@ohos.router';
  3. @Entry
  4. @Component
  5. struct Index {
  6. @State msg1:string="成功接收到传参"
  7. //声明变量,准备接收被调用页面返回的数据
  8. @State msg2:string="尚未返回数据"
  9. //函数onPagShow()能在每次跳转到本页面时执行
  10. //如果只在声明变量时接收返回数据,则只能在跳转前接收一次数据,而且因为接收数据发生在Second页面返回前所以不能成功接收数据,变量值为undefined
  11. onPageShow(){
  12. //每次返回本页面时接收一次返回的数据
  13. this.msg2=router.getParams()?.["msg2"]
  14. }
  15. build() {
  16. Column() {
  17. Row(){
  18. Text("这是第一页,"+this.msg2)
  19. }
  20. Row(){
  21. Button("下一页")
  22. .onClick(()=>{
  23. //使用router跳转
  24. router.pushUrl({
  25. //将要跳转页面的地址
  26. url:"pages/Second",
  27. //传递参数
  28. params:{
  29. msg1:this.msg1
  30. }
  31. })
  32. })
  33. }
  34. }
  35. .width('100%')
  36. }
  37. }

将要跳转页面Second.ets代码

  1. //导入router
  2. import router from '@ohos.router';
  3. @Entry
  4. @Component
  5. struct Second{
  6. //接受传参,方括号中的内容对应调用页面传递的参数名
  7. @State msg1:string=router.getParams()?.["msg1"]
  8. @State msg2:String="成功接收返回数据"
  9. build(){
  10. Column(){
  11. Row(){
  12. Text("这是第二页")
  13. }
  14. Row(){
  15. Text("接收到数据:"+this.msg1)
  16. }
  17. Row(){
  18. Button("返回")
  19. .onClick(()=>{
  20. //使用router返回跳转前的页面
  21. router.back({
  22. //返回页面地址,用逗号隔开
  23. url:"pages/Index",
  24. //返回数据
  25. params:{
  26. msg2:this.msg2
  27. }
  28. })
  29. })
  30. }
  31. }
  32. .width("100%")
  33. }
  34. }

常见错误:

        1、路由配置错误或没配置

        2、接收返回数据时未使用onPageShow()函数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/339277
推荐阅读
相关标签
  

闽ICP备14008679号