HarmonyOS Navigation 设置路由拦截直接异常,无法执行
Navigation 设置路由拦截直接异常,无法执行
interface item {
url?:string,
label:string
}
@Entry
@Component
struct NavigationExample {
@State TooTmp: ToolbarItem = {'value': "func", 'icon': "./image/ic_public_highlights.svg", 'action': ()=> {}}
private arr: number[] = [1, 2, 3];
pathStack: NavPathStack = new NavPathStack()
@Builder ToolBar() {
Row() {
this.toolBarItem({label:'fun1'})
this.toolBarItem({label:'fun2'})
this.toolBarItem({label:'fun3'})
}.borderRadius(20).backgroundColor('red')
}
@Builder toolBarItem($$:item) {
Column(){
Image($r('app.media.vip_manage_view_unbing'))
Text($$.label)
}
}
aboutToAppear() {
this.pathStack.setInterception({
willShow: (from: NavDestinationContext | "navBar", to: NavDestinationContext | "navBar",
operation: NavigationOperation, animated: boolean) => {
if (typeof to === "string") {
console.log("target page is navigation home page.");
return;
}
// 将跳转到PageTwo的路由重定向到PageOne
let target: NavDestinationContext = to as NavDestinationContext;
if (target.pathInfo.name === 'PageTwo') {
target.pathStack.pop();
target.pathStack.pushPathByName('PageOne', null);
}
}
})
}
jump(){
this.pathStack.pushPathByName('PageOne', null)
}
build() {
Column() {
Navigation(this.pathStack) {
List({ space: 12 }) {
ListItem() {
Button("跳转1").onClick((event: ClickEvent) =>{
this.jump()
})
}
ListItem() {
Button("跳转2").onClick((event: ClickEvent) => {
})
}
}
.width("90%")
.margin({ top: 12 })
}
.title("主标题")
.mode(NavigationMode.Stack)
.hideTitleBar(true)
.toolbarConfiguration(this.ToolBar)
}
.height('100%')
.width('100%')
.backgroundColor('#F1F3F5')
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
DevEco无法执行Previewer
612浏览 • 1回复 待解决
ForEach在真机上无法执行
1907浏览 • 1回复 待解决
HarmonyOS Navigation的navDestination无法使用命名路由直接展示页面
85浏览 • 1回复 待解决
web组件加载html页面,无法执行jscript脚本
914浏览 • 1回复 待解决
HarmonyOS Navigation路由拦截中出现弹窗,是否有demo
52浏览 • 1回复 待解决
HarmonyOS 应用proc下匿名文件对应fd无法执行linkat操作
387浏览 • 1回复 待解决
#鸿蒙学习大百科#如何拦截Navigation路由?
355浏览 • 1回复 待解决
HarmonyOS 路由拦截
24浏览 • 1回复 待解决
HarmonyOS promptAction弹窗在axios.request()的回调中无法执行
379浏览 • 1回复 待解决
HarmonyOS Scroll回调方法执行改变
33浏览 • 1回复 待解决
HarmonyOS 基于Navigation的路由管理替换Router首页偶现异常动画
341浏览 • 1回复 待解决
HarmonyOS Navigation路由跨页面popToName无法接受传递参数
579浏览 • 1回复 待解决
如何通过AOP统计方法执行时间
673浏览 • 1回复 待解决
HarmonyOS Navigation路由问题
78浏览 • 1回复 待解决
HarmonyOS WebView如何监听this.webViewController.backward()方法执行完成?
338浏览 • 1回复 待解决
HarmonyOS navigation是否提供跳转拦截的设置和回调方法
30浏览 • 1回复 待解决
HarmonyOS onBackPress执行异常问题
647浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在HarmonyOS NEXT中如何实现Navigation路由拦截,并确保首次点进案例时拦截不失效?
106浏览 • 0回复 待解决
HarmonyOS Navigation使用系统路由表,页面无法接收到参数
97浏览 • 1回复 待解决
HarmonyOS使用Navigation作为路由,为什么使用replacePath无法触发动效?
150浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在Navigation中实现路由拦截并增加自定义逻辑?
126浏览 • 1回复 待解决
HarmonyOS 是否有前置路由拦截器
12浏览 • 1回复 待解决
debug调试的时候,watch添加方法执行结果都是undefined
691浏览 • 1回复 待解决
HarmonyOS 拦截处理完业务在执行方法
293浏览 • 1回复 待解决
HarmonyOS 导航路由拦截器如何实现
7浏览 • 1回复 待解决
navigation可以封装公共路由栈方便路由管理和拦截。
具体操作
3、在其他页面entry/hsp/har中引入公共类import { CommonRouter } from "@ace/library";然后调用CommonRouter.getInstance().pushPathByName('pageTwo'),CommonRouter.getInstance().clear(),CommonRouter.getInstance().pop()即可.