HarmonyOS鸿蒙Next中@Local修飾的對象,在對對象屬性賦值無法刷新UI
HarmonyOS鸿蒙Next中@Local修飾的對象,在對對象屬性賦值無法刷新UI
@Local currentStatusInfo: CarStatusInfo = new CarStatusInfo()
callbackBleStatus21 = (eventData: emitter.GenericEventData<Status21Data>): void => {
Logger.info(“ControlPage” + 收到蓝牙21数据: ${JSON.stringify(eventData.data)}
)
const status21 = eventData.data!;
//如果跟上一次的相同就不赋值
//将this.currentStatusInfo里面有的元素,通过status21去赋值
this.saveBleStatus21(status21)
}
saveBleStatus21(data: Status21Data) { if (this.connectStatus.isBlueConnect) { this.currentStatusInfo.leftFrontOpen = data.leftFrontOpen.toString() this.currentStatusInfo.rightFrontOpen = data.rightFrontOpen.toString() this.currentStatusInfo.leftBehindOpen = data.leftBehindOpen.toString() this.currentStatusInfo.rightBehindOpen = data.rightBehindOpen.toString() this.currentStatusInfo.isStart = data.isStart.toString() this.currentStatusInfo.lightOpen = data.lightOpen.toString() this.currentStatusInfo.isLock = data.isLock.toString() this.currentStatusInfo.afterBehindOpen = data.afterBehindOpen.toString() this.currentStatusInfo.isTheft = data.isTheft.toString() this.currentStatusInfo.isON = data.isON.toString() this.currentStatusInfo.leftFrontWindowOpen = data.leftFrontWindowOpen.toString() this.currentStatusInfo.rightFrontWindowOpen = data.rightFrontWindowOpen.toString() this.currentStatusInfo.leftBehindWindowOpen = data.leftBehindWindowOpen.toString() this.currentStatusInfo.rightBehindWindowOpen = data.rightBehindWindowOpen.toString() this.currentStatusInfo.skyWindowOpen = data.skyWindowOpen.toString() } }
@ObservedV2 export class CarStatusInfo { id: number = 0; carId: number = 0; carNum: string = ‘’; type: string = ‘’; @Trace leftFrontOpen: string = ‘0’; // 假设 “0” 表示关闭,“1” 表示开启 @Trace rightFrontOpen: string = ‘0’; @Trace leftBehindOpen: string = ‘0’; @Trace rightBehindOpen: string = ‘0’; footBrake: string = ‘0’; @Trace isStart: string = ‘0’; leftTurnLight: string = ‘0’; rightTurnLight: string = ‘0’; @Trace lightOpen: string = ‘0’; @Trace isLock: string = ‘0’; @Trace afterBehindOpen: string = ‘0’; hood: string = ‘0’; handbrake: string = ‘0’; @Trace isON: string = ‘0’; speed: number = 0; engineSpeed: number = 0; alertFortificationFailure: string = ‘0’; vibrationAlarm: string = ‘0’; unlocked: string = ‘0’; notAppointmentStart: string = ‘0’; keyInCar: string = ‘0’; @Trace skyWindowOpen: string = ‘0’; @Trace leftFrontWindowOpen: string = ‘0’; @Trace rightFrontWindowOpen: string = ‘0’; @Trace leftBehindWindowOpen: string = ‘0’; @Trace rightBehindWindowOpen: string = ‘0’; temp: number = 0; miles: string = ‘0’; remainOil: number = 0; lastMiles: string = ‘0’; oilConsumption: string = ‘0’; voltage: number = 0; tempControlStatus: string = ‘-1’; windLevel: string = ‘-1’; middleLeftDoor: string = ‘0’; middleRightDoor: string = ‘0’; createTime: string = ‘’; updateTime: string | null | number = null; @Trace gpsOpen: string = ‘0’; terminalResetNum: string = ‘0’; networkType: string = ‘’; isOnline: string = ‘0’; gps: string = ‘’; voltageStatus: string = ‘’; direction: string = ‘’; isTheft: string = ‘0’; isWarn: string = ‘0’; airConditionOpen: string = ‘0’; satellitesNum: number = 0; gprsSign: string = ‘’; chairRightHeat: string = ‘1’; chairLeftHeat: string = ‘1’; chairRightAir: string = ‘1’; chairLeftAir: string = ‘1’; chairRightHeatStatus: string = ‘0’; chairRightAirStatus: string = ‘0’; chairLeftHeatStatus: string = ‘0’; chairLeftAirStatus: string = ‘0’; percentageOil: number = 0; electric: string = ‘0’; circuit: string = ‘0’; height: number = 0; levelBattery: number = 0; locationTime: string | null | number = null; @Trace startTime: number = 0; acc: string | null | number = null; carStatusUp: string | null | number = null; carStatusUpTime: string | null | number = null; freeze: string = ‘0’; batteryStatus: string | null | number = null; ACStatus: string = ‘-1’; }
更多关于HarmonyOS鸿蒙Next中@Local修飾的對象,在對對象屬性賦值無法刷新UI的实战教程也可以访问 https://www.itying.com/category-93-b0.html
参数 | @State | @Local |
---|---|---|
参数 | 无。 | 无。 |
从父组件初始化 | 可选。 | 不允许外部初始化。 |
观察能力 | 能观测变量本身以及一层的成员属性,无法深度观测。 | 能观测变量本身,深度观测依赖@Trace装饰器。 |
数据传递 | 可以作为数据源和子组件中状态变量同步。 | 可以作为数据源和子组件中状态变量同步。 |
能观测变量本身,深度观测依赖@Trace装饰器。
[@Local装饰器:组件内部状态-V2所属装饰器-状态管理(V2)-学习UI范式状态管理-UI开发 (ArkTS声明式开发范式)-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/arkts-new-local#local与state对比)
更多关于HarmonyOS鸿蒙Next中@Local修飾的對象,在對對象屬性賦值無法刷新UI的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html