zoukankan      html  css  js  c++  java
  • HMS16. 页面间跳转导航

    01. 关于页面间的跳转

      在HarmonyOS中,一个App允许存在多个Ability, 一个Ability中允许存在多个AbilitySlice; 

      因此在 App的应用中,存在同一个Ability中不同Slice之间的跳转,也存在不同Ability间的页面跳转;

      a. 在一个Ability里,使用  present() / presentForResult() 方法从一个AbilitySlice导航到另外一个 AbilitySlice; 即同一个Page内,不同AbilitySlice之间的跳转;

        

      b. 在不同Ability的AbilitySlice之间,使用  startAbility() / startAbilityForResult() 来启动一个新的 Ability; 

        

     02. 本次学习Demo源码
      a. 实现同Ability内不同Slice间的跳转;
      b. 实现不同Ability间的跳转;

      

     

    03. 需注意的知识点

      >>>  新建 Ability

        

      >>>  在一个 Ability中新建新的 AbilitySlice

        

       >>> 同Ability间,源Slice 接收 目标 Slice 返回数据的的处理

        a. 源Slice 在调用 presentForResult时,传入一个 请求码 (requestCode); 请求码自定义;
         

        b,源 Slice 配置结果接收监听

         

        c. 目标Slice中配置返回结果

           

       >>> 不同Ability间,源Slice 接收 目标 Slice 返回数据的的处理

         不同Ability之间的跳转,需要使用 startAbilityForResult来处理;

         a. 源Slice发起请求

          

        b. 目标Slice或目标Ability中配置返回数据 

         * 从目标Ability 中配置返回结果 

            

         * 从目标Slice中返回结果

         

         c. 源Slice中配置结果接收处理

         

       >>> 从例程中可以看到,关于不同Page之间的跳转有二种不同的方式,

        * 第一种方式,是直接配置跳转参数,

           

        * 第二种方式,是通过指定的Action来跳转

         

         要想实现第二种效果,需要注意如下几点:

          1. 目标ABility,注册Action路由
           

           2.目标ABility所属模块 config.json 中,为目标模块注册 Action

              

           3.调用Slice,在业务中指定目标ABility中注册的Action; 

           Operation operation = new Intent.OperationBuilder().withAction(ACTION_NAME).build();
           此时,可正常跳转到目标ABility; 

      

      

     

        

          

     

     

        

      

      

  • 相关阅读:
    PHP 二维数组排序
    linux CentOS7.* 上安装 ffmpeg 扩展
    ajax删除,
    ajax的格式、简单使用编写,
    多对多作为外键,getset方法实现
    外键介绍,manytomany介绍,filter跨表双下划线
    student学生信息表增删改
    数据库表的增删改查学生信息管理
    session保存信息用数据库
    cookie实现访问index无法访问必须从login走,返回固定的session值,
  • 原文地址:https://www.cnblogs.com/jieling/p/15500206.html
Copyright © 2011-2022 走看看