首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

OpenHarmony鸿蒙原生应用开发,ArkTS、ArkUI学习踩坑学习笔记,持续更新中。

  • 24-03-18 00:03
  • 4073
  • 6587
blog.csdn.net

一、AMD处理器win10系统下,DevEco Studio模拟器启动失败解决办法。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论:在BIOS里面将Hyper-V打开,DevEco Studio模拟器可以成功启动。

二、ArkTS自定义组件导出、引用实现。

如果在另外的文件中引用组件,需要使用export关键字导出,并在使用的页面import该自定义组件。

1.自定义组件(被导入组件)

// @ts-nocheck
@Component
struct header {
  build() {
    Flex({justifyContent:FlexAlign.Center}){
      Text('诸子百家').width('100%').height(70).backgroundColor(0x808080).fontColor(0x000000)
    }
  }
}
export default header
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.组合组件(引用自定义组件)

import router from '@ohos.router';
import header from './header';
let msg:String='index页面传递的消息'
@Entry
@Component
struct Index {
  @State message: string = '鸿蒙应用状态管理出现';
  @State isExpanded:boolean=false;
  build() {
    Row() {
      Column() {
        header()
        if (this.isExpanded){
          Text('鸿蒙应用状态管理消失')
            .fontSize(60)
            .fontWeight(FontWeight.Bold)
        } else {
          Text(this.message)
            .fontSize(60)
            .fontWeight(FontWeight.Bold)
        }
        Button('跳转')
          .onClick(()=>{
          this.isExpanded=!this.isExpanded;
          router.pushUrl({
            url:'pages/Page',
            params:{
              src:msg
            }
          })
        })
      }
      .width('100%').height('100%')
    }
    .height('100%')
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

三、@ohos.router (页面路由)实现。

1、main_pages.json配置文件配置静态路由地址,配置文件路径:src/main/resources/base/profile/main_pages.json

{
  "src": [
    "pages/Index",
    "pages/Page",
    "pages/Twopage"
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2、使用router.pushUrl方法进行应用内页面路由跳转以及传值

import router from '@ohos.router';
let msg:String='index页面传递的消息'
@Entry
@Component
struct Index {
  build() {
    Row() {
      Column() {
        Button('跳转')
          .onClick(()=>{
          router.pushUrl({
            url:'pages/Page',
            params:{
              src:msg
            }
          })
        })
      }
      .width('100%').height('100%')
    }
    .height('100%')
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

3、使用router.getParams()方法进接收路由传值

import router from '@ohos.router';

@Entry
@Component
struct Page {
  @State message: string = '子页面2';
  @State src: string=router.getParams()?.['src'];
  build() {
    Row() {
      Column() {
        Text(this.message+this.src)
          .fontSize(50)
          .fontWeight(FontWeight.Bold);
    }
    .height('100%')
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

四、@ohos.router (页面路由)无法实现类似Vue的router-view局部渲染方案

1、Vue3的router-view局部渲染方案

Vue3

2、@ohos.router (页面路由)是整页渲染,不能进行局部渲染。

在这里插入图片描述

五、PersistentStorage:持久化存储UI状态

PersistentStorage:持久化存储UI状态是除了@ohos.data.preferences (用户首选项)之外的,常用的、轻量化、简单化的键值对的数据存储方案。在这里插入图片描述

…未完待续…

本文原创,原创不易,如需转载,请联系作者授权。

注:本文转载自blog.csdn.net的薛定谔的猫-菜鸟程序员的文章"https://blog.csdn.net/qq_36034945/article/details/135021231"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

135
HarmonyOS
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top