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

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

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

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

鴻蒙之HML語(yǔ)法參考

王程 ? 來(lái)源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-20 15:53 ? 次閱讀

HML(HarmonyOS Markup Language)是一套類HTML的標(biāo)記語(yǔ)言,通過(guò)組件,事件構(gòu)建出頁(yè)面的內(nèi)容。頁(yè)面具備數(shù)據(jù)綁定、事件綁定、條件渲染和邏輯控制等高級(jí)能力。

頁(yè)面結(jié)構(gòu)


Image Show

數(shù)據(jù)綁定


{{content}} {{key1}} {{key2}} key1 {{key1}} {{flag1 && flag2}} {{flag1 || flag2}} {{!flag1}}

卡片hml文件中的變量需要在json文件的data字段下進(jìn)行聲明:

{
  "data": {
    "content": "Hello World!",
    "key1": "Hello",
    "key2": "World",
    "flag1": true,
    "flag2": false
  }
}

說(shuō)明

key值支持對(duì)象操作符和數(shù)組操作符,如{{key.value}}、{{key[0]}}。

支持字符串拼接、邏輯運(yùn)算和三元表達(dá)式。

字符串拼接:

支持變量跟變量:{{key1}}{{key2}}等

支持常量跟變量: “my name is {{name}}, i am from
{{city}}.” “key1 {{key1}}”

邏輯運(yùn)算:

與:{{flag1 && flag2}}(僅支持兩個(gè)boolean變量間的與邏輯運(yùn)算)

或:{{flag1 || flag2}}
(僅支持兩個(gè)boolean變量間的或邏輯運(yùn)算)

非:{{!flag1}} (僅支持boolean變量的非邏輯運(yùn)算)

三元表達(dá)式

{{flag? key1:key2}}(flag為boolean變量,key1和key2可以是變量,也可以是常量)

注意事項(xiàng)

非boolean類型值進(jìn)行bool運(yùn)算默認(rèn)為false

以上所有變量解析跟運(yùn)算解析均不支持嵌套

事件綁定

卡片的事件需要在json文件的actions字段下進(jìn)行聲明。卡片僅支持click通用事件,事件的定義只能是直接命令式,事件定義必須包含action字段,用以說(shuō)明事件類型。卡片支持兩種事件類型:跳轉(zhuǎn)事件(router)和消息事件(message)。跳轉(zhuǎn)事件可以跳轉(zhuǎn)到卡片提供方的HarmonyOS應(yīng)用,消息事件可以將開發(fā)者自定義信息傳遞給卡片提供方。事件參數(shù)支持變量,變量以"{{}}"修飾。跳轉(zhuǎn)事件中若定義了params字段,則在被拉起應(yīng)用的onStart的intent中,可用"params"作為key將跳轉(zhuǎn)事件定義的params字段的值取到。

跳轉(zhuǎn)事件格式

通過(guò)定義ability名稱和攜帶的參數(shù)字段params直接跳轉(zhuǎn),可用"params"作為key提取到跳轉(zhuǎn)事件定義的params字段值。

選擇器 樣例 默認(rèn)值 樣例描述
action string “router” 事件類型。- “router”:用于應(yīng)用跳轉(zhuǎn)。- “message”:自定義點(diǎn)擊事件。
abilityName string - 跳轉(zhuǎn)ability名。
params Object - 跳轉(zhuǎn)應(yīng)用攜帶的額外參數(shù)。

{
  "data": {
    "mainAbility": "xxx.xxx.xxx"
  },
  "actions": {
    "routerEvent": { 
      "action": "router",
      "abilityName": "{{mainAbility}}",
      "params":{}
    } 
  }
}

消息事件格式

選擇器 樣例 默認(rèn)值 樣例描述
action string message 表示事件類型。
params Object - 跳轉(zhuǎn)應(yīng)用攜帶的額外參數(shù)。

{
  "actions": {
    "activeEvent": { 
      "action": "message",
      "params": {}           
    } 
  }
}

綁定路由事件和消息事件

 

列表渲染


{{$item.name}}

{{value.name}}

{{value.name}}

{
  "data": {
    "array": [
      {"id": 1, "name": "jack", "age": 18},
      {"id": 2, "name": "tony", "age": 18}
    ]
  }
}

tid屬性主要用來(lái)加速for循環(huán)的重渲染,旨在列表中的數(shù)據(jù)有變更時(shí),提高重新渲染的效率。tid屬性是用來(lái)指定數(shù)組中每個(gè)元素的唯一標(biāo)識(shí),如果未指定,數(shù)組中每個(gè)元素的索引為該元素的唯一id。例如上述tid="id"表示數(shù)組中的每個(gè)元素的id屬性為該元素的唯一標(biāo)識(shí)。for循環(huán)支持的寫法如下:

for=“array”:其中array為數(shù)組對(duì)象,array的元素變量默認(rèn)為$item。

for=“v in array”:其中v為自定義的元素變量,元素索引默認(rèn)為$idx。

for=“(i, v) in array”:其中元素索引為i,元素變量為v,遍歷數(shù)組對(duì)象array。

說(shuō)明

數(shù)組中的每個(gè)元素必須存在tid指定的數(shù)據(jù)屬性,否則運(yùn)行時(shí)可能會(huì)導(dǎo)致異常。

數(shù)組中被tid指定的屬性要保證唯一性,如果不是則會(huì)造成性能損耗。比如,示例中只有id和name可以作為tid字段,因?yàn)樗鼈儗儆谖ㄒ蛔侄巍?/p>

tid不支持表達(dá)式。

不支持for嵌套使用。

for對(duì)應(yīng)的變量數(shù)組,當(dāng)前要求數(shù)組中的object是相同類型,不支持多種object類型混合寫在一個(gè)數(shù)組中

條件渲染

條件渲染分為2種:if/elif/else和show。

當(dāng)使用if/elif/else寫法時(shí),節(jié)點(diǎn)必須是兄弟節(jié)點(diǎn),否則編譯無(wú)法通過(guò)。實(shí)例如下:


Hello-TV Hello-Wearable Hello-World

{
  "data": {
    "show": false,
    "display": true
  }
}

當(dāng)show為真時(shí),節(jié)點(diǎn)正常渲染;當(dāng)show為假時(shí),節(jié)點(diǎn)不渲染,效果等同display樣式為none。


 Hello World 
{
  "data": {
    "visible": false
  }
}

邏輯控制塊

控制塊使得循環(huán)渲染和條件渲染變得更加靈活;block在構(gòu)建時(shí)不會(huì)被當(dāng)作真實(shí)的節(jié)點(diǎn)編譯。block標(biāo)簽只支持if屬性。

 

Hello World

{ 
  "data": { 
    "show": true
  } 
}

Markdown 3634 字?jǐn)?shù) 238 行數(shù) 當(dāng)前行 3, 當(dāng)前列 0

HTML 3362 字?jǐn)?shù) 179 段落

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 語(yǔ)法
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    9814
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2352

    瀏覽量

    42858
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30194
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙機(jī)器人與鴻蒙開發(fā)板聯(lián)動(dòng)演示

    鴻蒙機(jī)器人與鴻蒙開發(fā)板聯(lián)動(dòng)演示,機(jī)器人的角色為迎賓機(jī)器人,開發(fā)板負(fù)責(zé)人賓客出現(xiàn)監(jiān)聽
    發(fā)表于 12-02 14:55

    Verilog語(yǔ)法中運(yùn)算符的用法

    verilog語(yǔ)法中使用以下兩個(gè)運(yùn)算符可以簡(jiǎn)化我們的位選擇代碼。
    的頭像 發(fā)表于 10-25 15:17 ?744次閱讀
    Verilog<b class='flag-5'>語(yǔ)法</b>中運(yùn)算符的用法

    FPGA學(xué)習(xí)筆記---基本語(yǔ)法

    Verilog語(yǔ)法是指硬件能夠?qū)崿F(xiàn)的語(yǔ)法。它的子集很小。常用的RTL語(yǔ)法結(jié)構(gòu)如下: 1、模塊聲明:module ... end module 2、端口聲明:input, output, inout
    發(fā)表于 06-23 14:58

    esp32-s2-hml-devkit-1的智能面板demo如何放到esp-idf編譯?

    esp32-s2-hml-devkit-1的智能面板demo如何放到esp-idf編譯?
    發(fā)表于 06-19 07:56

    學(xué)鴻蒙的1萬(wàn)個(gè)理由,北京中關(guān)村現(xiàn)大幅鴻蒙海報(bào)

    五一假期以來(lái),北京中關(guān)村附近多個(gè)地鐵站、公交站出現(xiàn)大幅鴻蒙海報(bào)。據(jù)統(tǒng)計(jì),不止中關(guān)村,北京杭州兩地清華、北大、浙江大學(xué)等多所高校附近也掛上了巨幅鴻蒙海報(bào)。 學(xué)鴻蒙,突破自我,Get職場(chǎng)”星“技能;學(xué)
    發(fā)表于 05-08 20:31

    騰訊突然宣布,微信鴻蒙版要來(lái)了!

    今年初, 華為宣布HarmonyOS NEXT命名為“鴻蒙星河版” ,并計(jì)劃在二季度啟動(dòng)開發(fā)者 Beta 計(jì)劃,四季度發(fā)布商用正式版。 消息一出,不少人為振奮。 鴻蒙星河版因不再兼容安卓開源
    發(fā)表于 04-30 19:34

    鴻蒙NEXT南向開發(fā)案例:【智能臺(tái)燈】

    鴻蒙南向開發(fā)智能臺(tái)燈案例
    的頭像 發(fā)表于 04-03 18:00 ?1009次閱讀
    <b class='flag-5'>鴻蒙</b>NEXT南向開發(fā)案例:【智能臺(tái)燈】

    首個(gè)鴻蒙生態(tài)創(chuàng)新中心在深揭幕,開啟鴻蒙產(chǎn)業(yè)新篇章共繪鴻蒙原生應(yīng)用開發(fā)新篇章

    首個(gè)鴻蒙生態(tài)創(chuàng)新中心在深揭幕 開啟鴻蒙產(chǎn)業(yè)新篇章 2024年3月19日,鴻蒙生態(tài)創(chuàng)新中心揭幕儀式在深圳舉行,標(biāo)志著鴻蒙產(chǎn)業(yè)發(fā)展邁出新的堅(jiān)實(shí)步伐。深圳市人民政府副秘書長(zhǎng)黃強(qiáng),華為終端BG
    發(fā)表于 03-20 09:55

    鴻蒙這么大聲勢(shì),為何遲遲看不見崗位?最新數(shù)據(jù)來(lái)了

    對(duì)于鴻蒙生態(tài)建設(shè)而言,2024年可謂至關(guān)重要,而生態(tài)建設(shè)的前提,就是要有足夠的開發(fā)人才。與對(duì)應(yīng)的,今年春招市場(chǎng)上與鴻蒙相關(guān)崗位和人才旺盛的熱度,一方面反應(yīng)了鴻蒙生態(tài)的逐漸壯大,另一方
    發(fā)表于 02-29 20:53

    學(xué)習(xí)鴻蒙背后的價(jià)值?星河版開放如何學(xué)習(xí)?

    現(xiàn)在是2024年,華為在1月18開展了鴻蒙千帆起儀式發(fā)布會(huì)。宣布了鴻蒙星河版,并對(duì)開發(fā)者開放申請(qǐng),此次發(fā)布會(huì)主要是說(shuō)明了,鴻蒙已經(jīng)是全棧自研底座,鴻蒙星河版本的編程語(yǔ)言改為ArkTS/
    發(fā)表于 02-22 20:55

    使用 Taro 開發(fā)鴻蒙原生應(yīng)用 —— 快速上手,鴻蒙應(yīng)用開發(fā)指南

    隨著鴻蒙系統(tǒng)的不斷完善,許多應(yīng)用廠商都希望將自己的應(yīng)用移植到鴻蒙平臺(tái)上。最近,Taro 發(fā)布了 v4.0.0-beta.x 版本,支持使用 Taro 快速開發(fā)鴻蒙原生應(yīng)用,也可將現(xiàn)有的小程序轉(zhuǎn)換
    的頭像 發(fā)表于 02-02 16:09 ?877次閱讀
    使用 Taro 開發(fā)<b class='flag-5'>鴻蒙</b>原生應(yīng)用 —— 快速上手,<b class='flag-5'>鴻蒙</b>應(yīng)用開發(fā)指南

    鴻蒙開發(fā)教程

    去年8 月份華為發(fā)布會(huì)上,華為發(fā)布了HarmonyOS NEXT預(yù)覽版,宣布不再兼容安卓應(yīng)用。大家期待的純血鴻蒙終于要來(lái)臨了,next 預(yù)覽版本現(xiàn)在已經(jīng)開放申請(qǐng)渠道了,Next 開發(fā)者預(yù)覽版本目前只
    的頭像 發(fā)表于 01-31 17:11 ?772次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)教程

    鴻蒙OS和開源鴻蒙什么關(guān)系?

    開源鴻蒙(Open Harmony) 鴻蒙系統(tǒng)愿來(lái)的設(shè)計(jì)初衷,就是讓所有設(shè)備都可以運(yùn)行一個(gè)系統(tǒng),但是每個(gè)設(shè)備的運(yùn)算能力和功能都不同,所以內(nèi)核的設(shè)計(jì)上,采用了微內(nèi)核的設(shè)計(jì),除了最基礎(chǔ)的功能放在
    的頭像 發(fā)表于 01-30 15:44 ?1147次閱讀
    <b class='flag-5'>鴻蒙</b>OS和開源<b class='flag-5'>鴻蒙</b>什么關(guān)系?

    鴻蒙Harmony是如何影響Android工程師的呢?

    其實(shí)鴻蒙在2019就已經(jīng)出來(lái)了,那時(shí)候還是套殼Android的。從2023年9月的發(fā)布會(huì)上,華為宣布鴻蒙原生應(yīng)用全面啟動(dòng)、HarmonyOS NEXT亮相以后,圍繞著純血鴻蒙展開的鴻蒙
    發(fā)表于 01-14 22:14

    鴻蒙開發(fā)基礎(chǔ)-Web組件cookie操作

    }) ... } ... 本文章主要是對(duì)鴻蒙開發(fā)當(dāng)中ArkTS語(yǔ)言的基礎(chǔ)應(yīng)用實(shí)戰(zhàn),Web組件里的cookie操作。更多的鴻蒙應(yīng)用開發(fā)技術(shù),可以前往我的主頁(yè)學(xué)習(xí)更多,下面是一張鴻蒙的學(xué)習(xí)路線如圖(略縮版): 高清完整版,保
    發(fā)表于 01-14 21:31
    主站蜘蛛池模板: 一级录像| 国产视频第一页| 一级毛毛片毛片毛片毛片在线看| 四虎在线最新地址公告| 国产色视频一区| 国产第一页在线观看| 99综合在线| 亚洲小视频在线播放| 精品综合久久久久久98| bt天堂资源在线种子| 51国产| 亚洲三级视频在线观看| 国产手机在线| 丁香综合在线| 天堂网在线资源www种子| 第四色视频| 久久天天躁夜夜躁狠狠躁2020| 午夜性| 久久久久久噜噜噜久久久精品| 色精品视频| 永久网站色视频在线观看免费| 久久久99精品免费观看精品| 国产午夜不卡在线观看视频666| 一女被两男吃奶玩乳尖口述| 日韩美毛片| 天天槽任我槽免费| 69国产| 变态重口极致另类在线| 中文字幕一区在线| 免费激情网站| 国产精品9999| 日韩精品网址| 美女天天干| 特极毛片| 四虎1515hh永久久免费| 亚洲特黄大黄一级毛片| 4hc44www四虎永久| 黄网站色视频免费看无下截| 欧美性色欧美a在线播放| 毛片爽爽爽免费看| 婷婷丁香社区|