通过ArkTS文档介绍我们可以知道,@StorageLink装饰器会监听AppStorage中数据的变化,当AppStorage中对应键的变量发生变化时,会触发UI刷新。
而AppStorage中有静态方法可以实现类似功能,例如以下代码

public static testAppStorage() {
let cities: SubscribedAbstractProperty<City[]> = AppStorage.Link('storedCities');
let base = cities.get();
Logger.info(TAG, "base got", base);
if (base.length > 0) {
  base[0].name = "测试成功";
  cities.set(base);
} else {
  Logger.info(TAG, "base length is 0");
}

}
在UI中,我们通过@StorageLink链接这个全局变量,然后尝试调用testAppStorage函数,会发现UI并没有刷新,但是切换到其它页面再切换回来时,属性确实发生了变化