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中创建对话框不能显示
69浏览 • 1回复 待解决
HarmonyOS 弹出对话框
1浏览 • 1回复 待解决
HarmonyOS 自定义对话框内部如何关闭该对话框?
68浏览 • 1回复 待解决
HarmonyOS 键盘把对话框顶上去,导致自定义对话框变形
28浏览 • 1回复 待解决
HarmonyOS如何实现一个对话框样式的pages?
326浏览 • 1回复 待解决
HarmonyOS如何从对话框获取用户返回结果?
360浏览 • 1回复 待解决
HarmonyOS 如何实现对话框可以在任何页面加载
5浏览 • 0回复 待解决
HarmonyOS 对话框弹出页面被遮挡
77浏览 • 1回复 待解决
HarmonyOS openCustomDialog返回的对话框id是undefined?
352浏览 • 1回复 待解决
HarmonyOS 页面跳转后对话框不消失
24浏览 • 1回复 待解决
HarmonyOS Qt子对话框输入框无法输入文字
10浏览 • 1回复 待解决
HarmonyOS 自定义对话框自动关闭的问题
68浏览 • 1回复 待解决
HarmonyOS如何全局打开一个自定义对话框?
318浏览 • 1回复 待解决
如何封装一个自定义Dialog对话框
2242浏览 • 1回复 待解决
HarmonyOS 在接口中如何主动打开一个界面/对话框
91浏览 • 1回复 待解决
HarmonyOS 文本Text组件选择对话框自定义的方案
0浏览 • 0回复 待解决
HarmonyOS 用@Watch来订阅数据变化时候,数据中每个属性变化都会导致调用这个@Watch方法
408浏览 • 2回复 待解决
HarmonyOS 网络请求框架中封装loading动画对话框问题
18浏览 • 1回复 待解决
HarmonyOS 怎么获取watch变化之前的数据
0浏览 • 1回复 待解决
HarmonyOS打开对话框时如何实现从下到上出现的动画?
504浏览 • 1回复 待解决
CustomDialog上面有一个textInput,点击对话框被顶出屏幕
2049浏览 • 1回复 待解决
HarmonyOS customdialogController在非组件类声明,调用open方法无法拉起对话框
387浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何创建和使用自定义对话框组件 TextDialog?
151浏览 • 1回复 待解决
HarmonyOS CustomDialog 中使用 pushPathByName 跳转新页面之后页面和对话框层级问题
625浏览 • 1回复 待解决
如何监听Viewmodel里变量值的变化
1978浏览 • 1回复 待解决
参考示例如下: