ArkTs Tips II

34 阅读1分钟

路漫漫其修远兮, 吾将上下而求索

题记

江湖风云变幻,鸿蒙终将成为操作系统的半壁江山

遇到的问题

Row Column 对齐方式

.justifyContent()

变量 常量之谜

我们在swift常量使用 let修饰,var修饰变量、kotlin中的val常量,var为变量
而ArkTs中却成员变量无需修饰,局部变量必须使用constlet修饰,感觉设计有点问题呢?
想请教一下ArtTs的变量和不可变量的区别

readonly myConstant: number = 42; // 不可变成员常量
myVariable: number = 10;  //可变成员变量
const myConstant: number = 42; // 不可变
let myVariable: number = 10;   // 可变
myVariable = 20; // 合法

ArkTs给子页面传一个回调事件callback给父级页面如何写

二级页面声明

  leftCallBack?: () => void
  rightCallBack?: () => void
  调用 if(this.leftCallBack) { this.leftCallBack() }
一级页面声明+绑定
preMonth() {}
绑定 this.preMonth.bind(this)

Grid嵌套使用后,外层Grid滚动不了

.
      .nestedScroll({ scrollForward: NestedScrollMode.SELF_ONLY, scrollBackward: NestedScrollMode.SELF_ONLY })
      但好像不生效啊

ArkTs 中键值对容器有哪些

Map
let map = new Map<string, number>();
HashMap
let hashMap = new HashMap<string, number>();

object
let obj = {
  apple: 10,
  banana: 20
};

console.log(obj.apple); 

Record类型
type FruitPrices = Record<string, number>;

let prices: FruitPrices = {
  apple: 10,
  banana: 20
};


Array方式
let keyValueArray: { key: string, value: number }[] = [
  { key: 'apple', value: 10 },
  { key: 'banana', value: 20 }
];




map = new HashMap<string, string>() map.set('a', 'b') map.set('c', 'd') 如何简写 比如 {'a' : 'b' ,'c': 'd'}这种形式

HashMap 没有直接提供

关于对象Object Map的初始化简写::FIX:编译错误x

object 可以直接用{ }
Map 只能new Map()

后记

本文是一个记述型文档,陆续会把遇到的问题更新上来.