HarmonyOS 如何watch viewmodel中的数据变化显示对话框
viewmodel模式有个对话框根据请求网络还是请求缓存来决定是否显示,所有这个loadingPageStatus需要放到viewmodel中。但是如何watch他的变化来显示对话框,代码如下:
import { NavigationManager } from '@cmb/router';
import hilog from '@ohos.hilog';
@Component
export struct Page {
build() {
NavDestination() {
RelativeContainer() {
Button('跳转至测试页')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
}
.height('100%')
.width('100%')
.onClick(() => {
NavigationManager.getNavPathStack().pushDestinationByName('web', undefined)
})
}
.onAppear(() => {
hilog.debug(1, "NavigationTest", "onAppear0");
})
.onDisAppear(() => {
hilog.debug(1, "NavigationTest", "onDisAppear0");
})
.onShown(() => {
hilog.debug(1, "NavigationTest", "onShow0");
})
.onHidden(() => {
hilog.debug(1, "NavigationTest", "onHidden0");
})
.title("首页")
}
}
@Entry
@Component
struct Index {
@State message: string = '测试Navigation生命周期';
aboutToAppear() {
let modules: string[] = ["@cmb/module1"]
modules.forEach(async (value: string, index: number, array: string[]) => {
let ns: ESObject = await import(value);
ns.dynamicImport("");
})
}
@Builder
routerMap(builderName: string, param: object) {
// Obtain the WrappedBuilder object based on the module name, create a page through the builder interface, and import the param parameter.
NavigationManager.getBuilder(builderName).builder(param);
};
build() {
Navigation(NavigationManager.getNavPathStack()) {
NavDestination() {
Page().width("100%").height("100%")
}
.onShown(() => {
console.log("首页onShow")
})
.onHidden(() => {
console.log("首页onHidden")
})
.onAppear(() => {
console.log("首页onAppear")
})
}
.mode(NavigationMode.Stack)
.hideToolBar(true)
.hideBackButton(true)
.hideTitleBar(true)
.navDestination(this.routerMap)
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS class中创建对话框不能显示
264浏览 • 1回复 待解决
HarmonyOS 对话框布局
49浏览 • 1回复 待解决
HarmonyOS 弹出对话框
263浏览 • 1回复 待解决
HarmonyOS 显示的对话框如何处理返回键消失的问题
218浏览 • 1回复 待解决
HarmonyOS 自定义对话框内部如何关闭该对话框?
333浏览 • 1回复 待解决
HarmonyOS 键盘把对话框顶上去,导致自定义对话框变形
293浏览 • 1回复 待解决
HarmonyOS 对话框弹出页面被遮挡
318浏览 • 1回复 待解决
HarmonyOS如何实现一个对话框样式的pages?
507浏览 • 1回复 待解决
HarmonyOS如何从对话框获取用户返回结果?
565浏览 • 1回复 待解决
HarmonyOS 如何实现对话框可以在任何页面加载
222浏览 • 1回复 待解决
HarmonyOS openCustomDialog返回的对话框id是undefined?
520浏览 • 1回复 待解决
HarmonyOS 页面跳转后对话框不消失
296浏览 • 1回复 待解决
HarmonyOS Qt子对话框输入框无法输入文字
155浏览 • 1回复 待解决
HarmonyOS 自定义对话框自动关闭的问题
331浏览 • 1回复 待解决
HarmonyOS 自定义对话框的控制器
83浏览 • 1回复 待解决
HarmonyOS 修改自定义对话框的转场方式
51浏览 • 1回复 待解决
HarmonyOS如何全局打开一个自定义对话框?
540浏览 • 1回复 待解决
如何封装一个自定义Dialog对话框
2421浏览 • 1回复 待解决
HarmonyOS 文本Text组件选择对话框自定义的方案
226浏览 • 1回复 待解决
HarmonyOS 在接口中如何主动打开一个界面/对话框
282浏览 • 1回复 待解决
HarmonyOS 网络请求框架中封装loading动画对话框问题
211浏览 • 1回复 待解决
HarmonyOS打开对话框时如何实现从下到上出现的动画?
700浏览 • 1回复 待解决
HarmonyOS 用@Watch来订阅数据变化时候,数据中每个属性变化都会导致调用这个@Watch方法
681浏览 • 2回复 待解决
HarmonyOS 怎么获取watch变化之前的数据
108浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建和使用自定义对话框组件 TextDialog?
318浏览 • 1回复 待解决
参考示例如下: