最近利用空闲时间在学习华为方舟开发框架(简称:ArkUI)的ets开发,发现在ets语言中装饰器的有着非常重要的作用,在写每一个自定义组件时都需要用到它,看到装饰器这个字眼,想起之前学过的设计模式里的装饰器模式(允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有...
1) 在 pages 目录新建页面 FoodCategoryList.ets,将 index.ets 改名为 FoodDetail.ets,并将其添加到 config.json 文件下的 pages 标签,位于第一序位的页面为首页。 2) FoodCategoryList.ets 引入 FoodData 类和 initializeOnStartup 方法。 3) 新建 FoodList 组件作为页面入口组件,FoodListItem 为其子组件。Li...
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/ui/ts-general-ui-concepts....
这一节我们对于“基于eTS的方舟开发框架ArkUI的鸿蒙开发”做一个SWOT分析,即,优点、缺点、机会和威胁。 2.2.1 优点 1>. 极简高效的UI信息语法 ArkUI采用极简的声明式UI描述界面语法,您只需用几行简单直观的声明式代码,即可完成界面功能, 提升HarmonyOS应用界面开发效率30%。UI开发更接近自然语义的编程方式,让开发...
ArkUI项目实战之基于eTS实现第三方分享弹出框(一) 前言 概述 演示效果 关键代码 参考资料 结语 前言 之前做#HarmonyOS技术训练营#基于JS实现的AI作诗应用的时候发现官方目前还不支持将内容分享至第三方应用,便有了开发这个组件的想法(后面听说官方接下来也将支持第三方分享弹出框了)。该项目为笔者花了大概一周的时间...
工程同步完成后,在Project窗口,点击entry > src > main > ets > pages,打开Index.ets文件,可以看到页面由Row、Column、Text组件组成。index.ets文件的示例如下: @Entry @Component struct Index { @State message: string = 'Hello World' build() { ...
如上所示,给状态变量增加一个@Watch装饰器,通过@Watch注册一个回调方法onChanged, 当状态变量count被改变时, 触发onChanged回调。 装饰器@State、@Prop、@Link、@ObjectLink、@Provide、@Consume、@StorageProp以及@StorageLink所装饰的变量均可以通过@Watch监听其变化。 代码示例: // xxx.ets @Entry @Component str...
// Index.ets // 装饰器(带@修饰)。可以用来装饰类结构、方法、变量,如:@Entry、@Component、@State等 @Entry // @Entry 标记当前组件是入口组件,即这个组件代表一个页面可以被独立访问显示。没有这个装饰器的组件就是普通组件,不能单独显示,只能被其它页面引用,做页面元素的封装(相当于子视图) ...
// xxx.ets @Component struct CustomContainer { header: string = '' @BuilderParam noParam: () => void @BuilderParam withParam: any footer: string = '' build() { Column() { Text(this.header) .fontSize(30) this.noParam() this.withParam() Text(this.footer) .fontSize(...