在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙OS開發實例:【裝飾器@Observed@ObjectLink】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-03-28 17:05 ? 次閱讀

背景

加深對@Observed@ObjectLink 裝飾器使用的理解,以小故事做注釋

效果

Screenshot_20231126110226119.png

代碼片段

這是一個故事

Boss為了交付兩個完全一樣的客戶項目【只要寫1萬行代碼】,在公司內部,把一個程序員配給了項目經理,讓其監督寫代碼

項目經理領到指示后, 先告知客戶一,公司為其配了專職程序員,由其隨時發號施令讓其敲代碼,然后又以同樣的話術告知客戶二

接下來的事情,客戶一和客戶二,他們都非常滿意,因為每一天,雖然他們各自只督促程序員寫了一行代碼,但每天下班時,
客戶們都能看到兩行代碼,呵呵。

Boss聽聞此事,甚是開心,遂告知項目經理,也要在每天中督促一次程序員,果不其然,程序員竟然每天可以寫三行代碼了,
對此老板深思了一會......, 做了一個決定,將項目中的程序直接換掉, 僅留當前的項目經理.
later,客戶發現之前寫的代碼沒了,哭天罵娘

神明英武的Boss一氣之下,為客戶們重新配了新的項目經理和新的程序員

搜狗高速瀏覽器截圖20240326151547.png

@Entry
@Component
struct Boss{
  @State projectManager: ProjectManager = new ProjectManager(new Programmer(0, '小哥1'), '項管1');

  build(){
    Column({space: 50}){
      Customer({ label: '客戶一', programmer: this.projectManager.programmer })
      Customer({ label: '客戶二', programmer: this.projectManager.programmer })

      Button(`this.projectManager.programmer.codelines+= 1`)
        .onClick(() = > {
          //Boss告知項目經理督促程序員寫代碼
          this.projectManager.programmer.codelines += 1;
        })

      Button(`this.projectManager.programmer = new Programmer(0)`)
        .onClick(() = > {
          //換程序員
          this.projectManager.programmer = new Programmer(0, '小哥2');
        })

      Button(`this.projectManager = new ProjectManager(Programmer(0))`)
        .onClick(() = > {
          //換項目經理,換程序員
          this.projectManager = new ProjectManager(new Programmer(0, '小哥3'), '項管2');
        })

    }
    .width('100%')
    .height('100%')
    .padding({top: px2vp(111)})
    .alignItems(HorizontalAlign.Center)
    .justifyContent(FlexAlign.Center)
    .backgroundColor(Color.Pink)
  }
}

@Observed
class Programmer {
  public name: string
  public codelines: number = 1;

  constructor(c: number, d: string) {
    this.codelines = c;
    this.name = d;
  }
}

class ProjectManager {
  public name: string
  public programmer: Programmer;

  constructor(a: Programmer, b: string) {
    this.programmer = a;
    this.name = b;
  }
}

@Component
struct Customer {
  label: string = 'customer';
  @ObjectLink programmer: Programmer;

  build() {
    Row() {
      Button(`[${this.label}] 讓 ${this.programmer.name} 寫代碼 = ${this.programmer.codelines}`)
        .onClick(() = > {
            this.programmer.codelines += 1;
        })
    }.backgroundColor(Color.Green).padding('16vp')
  }
}

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68612
  • 鴻蒙OS
    +關注

    關注

    0

    文章

    188

    瀏覽量

    4392
收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發實例:【頁面傳值跳轉】

    本篇主要介紹如何在HarmonyOS中,在頁面跳轉之間如何傳值 HarmonyOS 的頁面指的是帶有@Entry裝飾的文件,其不能獨自存在,必須依賴UIAbility這樣的組件容器 如下是官方關于State模型開發模式
    的頭像 發表于 03-29 20:16 ?2256次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b><b class='flag-5'>實例</b>:【頁面傳值跳轉】

    Harmony 鴻蒙頁面級變量的狀態管理

    += 1 }) } } @ObservedObjectLink數據管理 當開發者需要在子組件中針對父組件的一個變量(parent_a)設置雙向同步時,開發者可以在父組件中使用@S
    發表于 01-24 20:04

    鴻蒙OS應用程序開發

    這份學習文檔主要是帶領大家在鴻蒙OS上學習開發一個應用程序,主要知識點如下:1、U-Boot引導文件燒寫方式;2、內核鏡像燒寫方式;3、鏡像運行。
    發表于 09-11 14:39

    【中秋國慶不斷更】OpenHarmony嵌套類對象屬性變化:@Observed裝飾和@ObjectLink裝飾

    ,使用new創建類對象。 @ObjectLink變量裝飾 說明 裝飾參數 無 同步類型 不與父組件中的任何類型同步變量。 允許
    發表于 09-27 16:26

    鴻蒙 OS 應用開發初體驗

    的 IDE、鴻蒙生態的開發語言 ArkTS,通過模擬運行起來了鴻蒙 OS 版 HelloWorld。對于已經有移動
    發表于 11-02 19:38

    嵌入式系統設計與實例開發—ARM與uC/OS-Ⅱ

    嵌入式系統設計與實例開發 ——ARM與uC/OS-Ⅱ
    發表于 11-08 17:32 ?0次下載

    鴻蒙OS系統詳解

    華為的鴻蒙OS是一款“面向未來”的操作系統,是基于微內核的全場景分布式OS,可按需擴展,實現更廣泛的系統安全。目前主要用于智能物聯網,今年將擴展到智能手機上鴻蒙
    的頭像 發表于 11-12 11:24 ?1.4w次閱讀

    鴻蒙OS 2.0手機開發者Beta版發布會在京舉辦

    三個月前,鴻蒙OS 2.0正式在華為開發者大會2020亮相。12月16日,鴻蒙OS 2.0手機開發
    的頭像 發表于 12-16 09:29 ?1.9w次閱讀

    華為發布鴻蒙OS Beta版

    昨天華為發布鴻蒙OS Beta版了?鴻蒙系統一直在按照既有步伐前進,現在華為發布鴻蒙OS Beta版,而且一些生態
    的頭像 發表于 12-17 08:41 ?2879次閱讀

    鴻蒙OS與Lite OS的區別是什么

    鴻蒙OS鴻蒙OS面向未來、面向全場景、分布式。在單設備系統能力基礎上,鴻蒙OS提出了基于同一套系
    的頭像 發表于 12-24 12:40 ?5007次閱讀

    鴻蒙os怎么升級

    6月2日,華為正式發布了鴻蒙armonyOS 2系統,那么鴻蒙os如何升級?現將鴻蒙os升級方式告知如下。
    的頭像 發表于 06-08 16:26 ?2731次閱讀

    華為開發者大會2021鴻蒙os在哪場

    華為開發者大會2021將在10月22日-24日舉辦,地點為東莞松山湖,鴻蒙os 3.0或將與我們見面,那么華為開發者大會2021鴻蒙
    的頭像 發表于 10-22 15:24 ?1905次閱讀

    鴻蒙OS開發實例:【裝飾-@BuilderParam】

    這是一個基礎概念,其實沒有什么原因,練習過程中,自然可以感受到其用法,后期加上真實項目的演練,會形成習慣
    的頭像 發表于 03-28 17:40 ?668次閱讀

    鴻蒙OS開發教學:【編程之重-裝飾

    1. @State 2. @Prop 3. @Link 4. @ObjectLink 5. @Watch 6. @Styles 7. @StorageProp 8.
    的頭像 發表于 04-01 16:09 ?565次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b>教學:【編程之重<b class='flag-5'>器</b>-<b class='flag-5'>裝飾</b><b class='flag-5'>器</b>】

    鴻蒙OS開發實例:【ArkTS類庫多線程@Concurrent裝飾校驗并發函數】

    在使用TaskPool時,執行的并發函數需要使用該裝飾修飾,否則無法通過相關校驗。從API version 9開始,該裝飾支持在ArkTS卡片中使用。
    的頭像 發表于 04-02 14:45 ?675次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b><b class='flag-5'>實例</b>:【ArkTS類庫多線程@Concurrent<b class='flag-5'>裝飾</b><b class='flag-5'>器</b>校驗并發函數】
    主站蜘蛛池模板: 日本一区二区免费在线观看| 欧美性色xo影院在线观看| 男人j进女人j的一进一出视频| 羞涩妩媚玉腿呻吟嗯啊销魂迎合| 老司机51精品视频在线观看| 午夜伦y4480影院中文字幕| 欧美性猛交xxxx乱大交高清| 亚洲欧美国产高清va在线播放| 久操色| 欧美8888| xxxxxxxxxxx性bbbb| 美女黄18| 久久国产午夜精品理论篇小说| 99久热成人精品视频| 久久婷婷丁香| 国内精品网站| 亚洲情网| mide-776中文字幕在线| 视频在线免费看| 色婷婷色丁香| 午夜高清视频| 日本亚洲视频| 久综合| 福利视频网址| 色综合99| 天天摸日日干| 中文字幕有码视频| 国产婷婷色一区二区三区深爱网| videos另类重口tv| 四虎成人影院网址| 天天摸天天躁天天添天天爽| 轻点灬大ji巴太粗太大了小说| 久久久噜久噜久久综合| 国产精品夜夜春夜夜爽| 特级中国aaa毛片| 午夜精品久久久久久影视riav| 久久99热国产这有精品| 国产免费卡1卡2卡| 亚洲男人天堂2021| 国产一区二区在线不卡| 色播影院性播免费看|