11-鸿蒙4.0学习之页面之间的参数传递

11-鸿蒙4.0学习之页面之间的参数传递

方法一

params

// 传参页面
import router from '@ohos.router'

@Entry
@Component
struct LifeCycle1 {
  @State message: string = 'Hello World'
  @State isShow: boolean = false

  build() {
    Row() {
      Column({ space: 20 }) {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        Button('跳转界面')
          .onClick(() => {
            router.pushUrl({
              url: 'pages/LifeCycle2',
             params:{
               name:'小明',
               age:20
             }
            })
          })
        Button('切换')
          .onClick(() => {
            this.isShow = !this.isShow
          })
        Divider()
        if (this.isShow) {
          LifeCycle1_son()
        }

      }
      .width('100%')
    }
    .height('100%')
  }
  // 页面显示
  onPageShow() {
    console.log('page1……onPageShow')
  }
  // 页面隐藏
  onPageHide() {
    console.log('page1……onPageHide')
  }
  // 页面返回
  onBackPress() {
    console.log('page1……onBackPress')
  }
  aboutToAppear() {
    console.log('组件本身……aboutToAppear')
  }
  // 组件析构销毁时触发:删除  移出
  aboutToDisappear() {
    console.log('组件本身……aboutToDisappear')
  }
}

@Component
struct LifeCycle1_son {
  build() {
    Column() {
      Text('子组件').fontSize(50)
    }
  }
  // 组件渲染之前
  aboutToAppear() {
    console.log('LifeCycle1_son……aboutToAppear')
  }
  // 组件析构销毁时触发:删除  移出
  aboutToDisappear() {
    console.log('LifeCycle1_son……aboutToDisappear')
  }
}


接受参数页面

import router from '@ohos.router'

let name = router.getParams()['name'] as string

@Entry
@Component
struct LifeCycle2 {
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        Text(name).fontSize(50)
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
        Button('返回第一个页面')
          .onClick(() => {
            router.back()
          })
      }
      .width('100%')
    }
    .height('100%')
  }
  // 页面显示
  onPageShow(){
    console.log('page2……onPageShow')
  }
  // 页面隐藏
  onPageHide(){
    console.log('page2……onPageHide')
  }
  // 页面返回
  onBackPress(){
    console.log('page2……onBackPress')
  }
}

// 应用程序之间数据共享
// AppStorage.Set(‘appName’,‘我是应用程序’)
AppStorage.SetOrCreate(‘appName’,‘我是应用程序所存储的数据’)

// 从应用对象身上取出数据
let appName:string = AppStorage.Get(‘appName’) as string

// 模拟器获取不到,真机可以显示出来

你可能感兴趣的:(鸿蒙学习笔记整理,harmonyos,学习,javascript)