国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙開(kāi)發(fā):?jiǎn)?dòng)指定頁(yè)面

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-19 09:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

啟動(dòng)指定頁(yè)面

當(dāng)PageAbility的啟動(dòng)模式設(shè)置為單例時(shí)(具體設(shè)置方法和典型場(chǎng)景示例見(jiàn)[PageAbility的啟動(dòng)模式],缺省情況下是單實(shí)例模式),若PageAbility已被拉起,再次啟動(dòng)PageAbility會(huì)觸發(fā)onNewWant回調(diào)(即非首次拉起)。應(yīng)用開(kāi)發(fā)者可以通過(guò)want傳遞啟動(dòng)參數(shù),例如開(kāi)發(fā)者希望指定頁(yè)面啟動(dòng)PageAbility,可以通過(guò)want中的parameters參數(shù)傳遞pages信息,具體示例代碼如下: 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

調(diào)用方PageAbility的app.ets中或者page中,使用startAbility再次拉起PageAbility,通過(guò)want中的uri參數(shù)傳遞頁(yè)面信息:

import featureAbility from '@ohos.ability.featureAbility';
import Want from '@ohos.app.ability.Want';
import hilog from '@ohos.hilog';

const TAG: string = 'PagePageAbilityFirst';
const domain: number = 0xFF00;
(async (): Promise< void > = > {
  let wantInfo: Want = {
    bundleName: 'com.samples.famodelabilitydevelop',
    abilityName: 'com.samples.famodelabilitydevelop.PageAbilitySingleton',
    parameters: { page: 'pages/second' }
  };
  featureAbility.startAbility({ want: wantInfo }).then((data) = > {
    hilog.debug(domain, TAG, `restartAbility success : ${data}`);
  });
})()

在目標(biāo)端PageAbility的onNewWant回調(diào)中獲取包含頁(yè)面信息的want參數(shù):

// GlobalContext.ts 構(gòu)造單例對(duì)象
export class GlobalContext {
  private constructor() {
  }

  private static instance: GlobalContext;
  private _objects = new Map< string, Object >();

  public static getContext(): GlobalContext {
    if (!GlobalContext.instance) {
      GlobalContext.instance = new GlobalContext();
    }
    return GlobalContext.instance;
  }

  getObject(value: string): Object | undefined {
    return this._objects.get(value);
  }

  setObject(key: string, objectClass: Object): void {
    this._objects.set(key, objectClass);
  }
}
import Want from '@ohos.app.ability.Want';
import featureAbility from '@ohos.ability.featureAbility';
import { GlobalContext } from '../utils/GlobalContext';

class PageAbilitySingleton {
  onNewWant(want: Want) {
    featureAbility.getWant().then((want) = > {
      GlobalContext.getContext().setObject('newWant', want);
    })
  }
}

export default new PageAbilitySingleton();

在目標(biāo)端頁(yè)面的自定義組件中獲取包含頁(yè)面信息的want參數(shù)并根據(jù)uri做路由處理:

import Want from '@ohos.app.ability.Want';
import router from '@ohos.router';
import { GlobalContext } from '../../utils/GlobalContext';

@Entry
@Component
struct First {
  onPageShow() {
    let newWant = GlobalContext.getContext().getObject('newWant') as Want;
    if (newWant) {
      if (newWant.parameters) {
        if (newWant.parameters.page) {
          router.pushUrl({ url: newWant.parameters.page as string});
          GlobalContext.getContext().setObject("newWant", undefined)
        }
      }
    }
  }

  build() {
    Column() {
      Row() {
        Text($r('app.string.singleton_first_title'))
          .fontSize(24)
          .fontWeight(FontWeight.Bold)
          .textAlign(TextAlign.Start)
          .margin({ top: 12, bottom: 11, right: 24, left: 24 })
      }
      .width('100%')
      .height(56)
      .justifyContent(FlexAlign.Start)

      Image($r('app.media.pic_empty'))
        .width(120)
        .height(120)
        .margin({ top: 224 })

      Text($r('app.string.no_content'))
        .fontSize(14)
        .margin({ top: 8, bottom: 317, right: 152, left: 152 })
        .fontColor($r('app.color.text_color'))
        .opacity(0.4)
    }
    .width('100%')
    .height('100%')
    .backgroundColor($r('app.color.backGrounding'))
  }
}

當(dāng)PageAbility的啟動(dòng)模式設(shè)置為多實(shí)例模式或?yàn)槭状螁?dòng)單例模式的PageAbility時(shí)(具體設(shè)置方法和典型場(chǎng)景示例見(jiàn)[PageAbility的啟動(dòng)模式]),在調(diào)用方PageAbility中,通過(guò)want中的parameters參數(shù)傳遞要啟動(dòng)的指定頁(yè)面的pages信息,調(diào)用startAbility()方法啟動(dòng)PageAbility。被調(diào)用方可以在onCreate中使用featureAbility的getWant方法獲取want,再通過(guò)調(diào)用router.pushUrl實(shí)現(xiàn)啟動(dòng)指定頁(yè)面。

調(diào)用方的頁(yè)面中實(shí)現(xiàn)按鈕點(diǎn)擊觸發(fā)startAbility方法啟動(dòng)目標(biāo)端PageAbility,startAbility方法的入?yún)ant中攜帶指定頁(yè)面信息,示例代碼如下:

import featureAbility from '@ohos.ability.featureAbility';
import Want from '@ohos.app.ability.Want';
import { BusinessError } from '@ohos.base';
import fs from '@ohos.file.fs';
import promptAction from '@ohos.promptAction';
import worker from '@ohos.worker';
import hilog from '@ohos.hilog';

const TAG: string = 'PagePageAbilityFirst';
const domain: number = 0xFF00;

@Entry
@Component
struct PagePageAbilityFirst {
  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        //...
        ListItem() {
          Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
          //...
          }
          .onClick(() = > {
            let want: Want = {
              bundleName: 'com.samples.famodelabilitydevelop',
              abilityName: 'com.samples.famodelabilitydevelop.PageAbilityStandard',
              parameters: { page: 'pages/first' }
            };
            featureAbility.startAbility({ want: want }).then((data) = > {
              hilog.info(domain, TAG, `startAbility finish:${data}`);
            }).catch((err: BusinessError) = > {
              hilog.info(domain, TAG, `startAbility failed errcode:${err.code}`);
            })
          })
        }
        //...
        ListItem() {
          Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) {
          //...
          }
          .onClick(() = > {
            let want: Want = {
              bundleName: 'com.samples.famodelabilitydevelop',
              abilityName: 'com.samples.famodelabilitydevelop.PageAbilityStandard',
              parameters: { page: 'pages/second' }
            };
            featureAbility.startAbility({ want: want }).then((data) = > {
              hilog.info(domain, TAG, `startAbility finish:${data}`);
            }).catch((err: BusinessError) = > {
              hilog.info(domain, TAG, `startAbility failed errcode:${err.code}`);
            })
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

鴻蒙文檔.png

目標(biāo)端PageAbility的onCreate生命周期回調(diào)中通過(guò)featureAbility的getWant方法獲取want,并對(duì)參數(shù)進(jìn)行解析,實(shí)現(xiàn)指定頁(yè)面拉起:

import featureAbility from '@ohos.ability.featureAbility';
import router from '@ohos.router';

class PageAbilityStandard {
  onCreate() {
    featureAbility.getWant().then((want) = > {
      if (want.parameters) {
        if (want.parameters.page) {
          router.pushUrl({ url: want.parameters.page as string });
        }
      }
    })
  }
}

export default new PageAbilityStandard();

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2963

    瀏覽量

    45883
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙Ability開(kāi)發(fā)-Stage模型下Ability的創(chuàng)建和使用

    ) } ... } 使用windowStage.loadContent為指定Ability設(shè)置相關(guān)的Page頁(yè)面。 // DetailsAbility.ts ... export default class
    發(fā)表于 01-08 15:34

    純血鴻蒙開(kāi)發(fā)教程-運(yùn)行時(shí)動(dòng)態(tài)加載頁(yè)面提升性能

    ,主頁(yè)內(nèi)存占用增加,加載時(shí)間變長(zhǎng)。此時(shí)改用動(dòng)態(tài)加載不再提前加載子頁(yè)面,可以有效地避免這些任務(wù)阻塞主線程,從而降低整體資源消耗,提高主頁(yè)的加載速度。 最后 如果大家覺(jué)得這篇內(nèi)容對(duì)學(xué)習(xí)鴻蒙開(kāi)發(fā)有幫助,我想
    發(fā)表于 05-10 20:52

    鴻蒙原生頁(yè)面高性能解決方案上線OpenHarmony社區(qū) 助力打造高性能原生應(yīng)用

    NEXT的原生頁(yè)面高性能解決方案,從頁(yè)面滑動(dòng)、跳轉(zhuǎn)及應(yīng)用冷啟動(dòng)等關(guān)鍵環(huán)節(jié),為開(kāi)發(fā)者提供全面的支持。目前,這些解決方案均已上線OpenHarmony開(kāi)源社區(qū),可在OpenHarmony
    發(fā)表于 01-02 18:00

    Get這個(gè)秘籍,鴻蒙原生應(yīng)用頁(yè)面滑動(dòng)絲滑無(wú)比

    鴻蒙應(yīng)用開(kāi)發(fā)中,部分應(yīng)用頁(yè)面在滑動(dòng)時(shí)會(huì)出現(xiàn)白塊或白屏的問(wèn)題,不僅困擾開(kāi)發(fā)者,還直接影響用戶(hù)體驗(yàn)。針對(duì)這一痛點(diǎn),華為近期分別推出了針對(duì)鴻蒙
    發(fā)表于 03-06 14:41

    鴻蒙應(yīng)用開(kāi)發(fā)入門(mén)資料合集

    系統(tǒng)中的HiLog日志工具的具體使用方法。5、鴻蒙應(yīng)用開(kāi)發(fā)入門(mén)資料五:頁(yè)面間跳轉(zhuǎn)認(rèn)識(shí)IntentIntent是對(duì)象之間傳遞信息的載體。例如,當(dāng)一個(gè)Ability需要啟動(dòng)另一個(gè)Abili
    發(fā)表于 03-22 11:23

    鴻蒙原生應(yīng)用開(kāi)發(fā)-關(guān)于頁(yè)面接口router返回問(wèn)題與解決思路

    一、模塊導(dǎo)入 import router from \'@ohos.router\' 提供通過(guò)不同的url訪問(wèn)不同的頁(yè)面,包括跳轉(zhuǎn)到應(yīng)用內(nèi)的指定頁(yè)面、用應(yīng)用內(nèi)的某個(gè)頁(yè)面替換當(dāng)前
    發(fā)表于 11-15 10:11

    米哈游宣布啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)

    12月18日,米哈游宣布將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā),成為又一家啟動(dòng)鴻蒙原生應(yīng)用
    的頭像 發(fā)表于 12-18 10:07 ?1277次閱讀

    京東正式啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)

    華為與京東于近日宣布達(dá)成一項(xiàng)重要合作,正式啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)。這一合作旨在利用HarmonyOS NEXT的獨(dú)特優(yōu)勢(shì),為消費(fèi)者提供更出色的購(gòu)物體驗(yàn)。
    的頭像 發(fā)表于 01-18 15:02 ?1425次閱讀

    多家頭部企業(yè)宣布「啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)」,你看好鴻蒙系統(tǒng)走向「獨(dú)立」嗎?

    鴻蒙生態(tài)迎「關(guān)鍵一戰(zhàn)」,多家頭部企業(yè)宣布「啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)」,你看好鴻蒙系統(tǒng)走向「獨(dú)立」嗎?
    的頭像 發(fā)表于 01-24 11:47 ?1073次閱讀
    多家頭部企業(yè)宣布「<b class='flag-5'>啟動(dòng)</b><b class='flag-5'>鴻蒙</b>原生應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b>」,你看好<b class='flag-5'>鴻蒙</b>系統(tǒng)走向「獨(dú)立」嗎?

    淘寶正式啟動(dòng)華為鴻蒙原生應(yīng)用開(kāi)發(fā)

    華為與淘寶近日宣布,淘寶已正式啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)。這一合作標(biāo)志著鴻蒙生態(tài)在電商領(lǐng)域的布局進(jìn)一步擴(kuò)大,將為用戶(hù)帶來(lái)全新的全場(chǎng)景購(gòu)物體驗(yàn)。
    的頭像 發(fā)表于 01-26 15:59 ?1471次閱讀

    淘寶與華為合作將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)

    1月25日,淘寶與華為舉辦鴻蒙合作簽約儀式,宣布將基于HarmonyOS NEXT啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)。
    的頭像 發(fā)表于 01-26 16:14 ?1981次閱讀

    哪吒汽車(chē)APP啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā)

    哪吒汽車(chē)正式簽約,啟動(dòng)鴻蒙原生應(yīng)用開(kāi)發(fā);在5月17日,在上海市經(jīng)濟(jì)和信息化委員會(huì)指導(dǎo)的“千帆競(jìng)發(fā)啟航 共筑鴻蒙生態(tài)——HDD上海站·鴻蒙原生
    的頭像 發(fā)表于 05-18 09:48 ?1823次閱讀

    鴻蒙開(kāi)發(fā):【頁(yè)面棧及任務(wù)鏈】

    單個(gè)UIAbility組件可以實(shí)現(xiàn)多個(gè)頁(yè)面,并在多個(gè)頁(yè)面之間跳轉(zhuǎn),這種UIAbility組件內(nèi)部的頁(yè)面跳轉(zhuǎn)關(guān)系稱(chēng)為“頁(yè)面?!?,由ArkUI框架統(tǒng)一管理,如下圖中的UIAbility1
    的頭像 發(fā)表于 06-14 10:10 ?1226次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>:【<b class='flag-5'>頁(yè)面</b>棧及任務(wù)鏈】

    【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù)

    【HarmonyOS 5】鴻蒙頁(yè)面和組件生命周期函數(shù) ##鴻蒙開(kāi)發(fā)能力 ##HarmonyOS SDK應(yīng)用服務(wù)##鴻蒙金融類(lèi)應(yīng)用 (金融理財(cái)
    的頭像 發(fā)表于 07-11 18:24 ?1086次閱讀

    知乎開(kāi)源“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)鴻蒙應(yīng)用頁(yè)面“秒開(kāi)”

    ,交互延遲等核心痛點(diǎn),通過(guò)智能預(yù)測(cè)用戶(hù)瀏覽目標(biāo)進(jìn)行提前渲染,只需幾行代碼即可顯著提升復(fù)雜頁(yè)面的加載性能,實(shí)現(xiàn)“頁(yè)面秒開(kāi)”的高效體驗(yàn),為鴻蒙開(kāi)發(fā)者帶來(lái)
    的頭像 發(fā)表于 08-29 14:32 ?627次閱讀
    知乎開(kāi)源“智能預(yù)渲染框架” 幾行代碼實(shí)現(xiàn)<b class='flag-5'>鴻蒙</b>應(yīng)用<b class='flag-5'>頁(yè)面</b>“秒開(kāi)”