【HarmonyOS NEXT】DevEco Studio中快捷键自动生成model的set/get方法,为何不能正常调用

【关键字】

快捷键 / set / get / Command+N

【问题描述】

开发中给实体model的私有属性,通过DevEco Studio的快捷键Command+N自动生成model的set/get方法,会生成返回类型为set或者get的方法,不能正常调用。

下图是用软件自动生成的set/get方法,不能正常调用去赋值。

cke_1616.png

cke_2477.png

下图是手敲的。

cke_3280.png

希望不用一个个去手敲。

【解决方案】

在ArkTS中,getter和setter的写法就是如下的:

private _testAttr: string = '';

public set testAttr(value: string) {
this._testAttr = value;
}

public get testAttr(): string {
return this._testAttr;
}

在调用的时候,如果想获取testAttr的值,就是BookBangInfo.testAttr;如果想给testAttr赋值,就是BookBangInfo.testAttr = "testAttr"。

但这里需要注意的是,如果变量可能是undefined类型,则在声明变量的时候需要写明undefined,这样自动生成getter和setter才能加上undefined类型。

例子如下:

private word?: string | undefined;
private wordNew?: string| undefined;
private rank?: string| undefined;
private linkUrl?: string| undefined;
private _testAttr: string = '';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值