HarmonyOS 鸿蒙Next replaceNamedRoute 怎么实现跳转目标页?
HarmonyOS 鸿蒙Next replaceNamedRoute 怎么实现跳转目标页? 如图使用replaceUrl会有警告!然后发现replaceNamedRoute,但是这个方法跳转目标页是空白的,
不知道是不是因为预览器的原因?
更多关于HarmonyOS 鸿蒙Next replaceNamedRoute 怎么实现跳转目标页?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
-
replaceNamedRouter
命令路由需要在 Entry 里面声明 name,以及 import 这个 page -
警告的意思这个 api 可能在部分设备上用不了,这里是和 api 级别有关系
更多关于HarmonyOS 鸿蒙Next replaceNamedRoute 怎么实现跳转目标页?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
【在 Entry 里面声明 name】这个可以做到,
但是【以及 import 这个 page】这个是怎么导入,导入不使用它,不也相当于白导入了嘛~
我在评论区放了图~,
import router from ‘@ohos/router’; import(’…/pages/Index’) as IndexPage;
@Entry @Component struct IndexComponent {
build() { Column() { Button(‘Click’) .onClick(() => { router.replaceNamedRoute({ name: ‘myIndex’ }, router.RouterMode.Standard); }) } .width(‘100%’) .height(‘100%’) } }
啊啊!成功啦!谢谢
原来它是挎包使用的!
因为我在使用replaceUrl的时候有警告,我就看到了这个API,
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17



要先导包,再到目标页声明routeName, 且导包是在跳转页面,把目标页导入进来,
在HarmonyOS中,replaceNamedRoute
方法用于替换当前页面的路由,并跳转到指定的目标页面。该方法通常在需要替换当前页面而不保留历史记录的场景下使用。
replaceNamedRoute
的使用示例如下:
import router from '@ohos.router';
// 定义目标页面的路由名称
const targetRouteName = 'TargetPage';
// 使用replaceNamedRoute跳转到目标页面
router.replaceNamedRoute({
name: targetRouteName,
params: {
// 可选,传递的参数
key: 'value'
}
}).then(() => {
console.log('页面跳转成功');
}).catch((err) => {
console.error('页面跳转失败', err);
});
在上述代码中,replaceNamedRoute
方法接收一个对象作为参数,该对象包含name
和params
属性。name
属性指定目标页面的路由名称,params
属性是可选参数,用于传递数据到目标页面。
需要注意的是,replaceNamedRoute
会替换当前页面的路由,因此用户无法通过返回按钮回到之前的页面。
在HarmonyOS(鸿蒙Next)中,replaceNamedRoute
用于替换当前页面栈中的页面,并跳转到目标页面。你可以通过以下步骤实现:
- 定义路由:在
pages
目录下的config.json
中定义路由名称和目标页面路径。 - 调用方法:在代码中使用
router.replaceNamedRoute
方法,传入目标页面的路由名称和可选参数。
示例代码:
import router from '@ohos.router';
router.replaceNamedRoute({
name: 'TargetPage', // 目标页面路由名称
params: { key: 'value' } // 可选参数
});
这样,当前页面会被替换为目标页面,且页面栈不会增加新记录。