惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Apple Machine Learning Research
Apple Machine Learning Research
Hugging Face - Blog
Hugging Face - Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
雷峰网
雷峰网
B
Blog
月光博客
月光博客
博客园 - 【当耐特】
WordPress大学
WordPress大学
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
The GitHub Blog
The GitHub Blog
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
博客园 - Franky
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
B
Blog RSS Feed
H
Help Net Security

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
鸿蒙开发:路由组件升级,支持页面一键创建
程序员一鸣 · 2026-03-18 · via 人人都是产品经理

前言

router组件自2024年推出以来,目前已经升级了9个版本,对应的插件也迭代了25次,可以说,本着简单好用的特性,帮助了许许多多的开发者,如今,我又对其做了定向的优化,除了支持模块之间的过滤,也同步支持了插件创建页面的能力。

在插件1.2.5版本之前,无论是动态共享包,还是静态共享包,都会在其模块下动态生成路由配置文件,并且在初始化中也会生成初始化代码,这就造成了一个问题,比如,某一个共享包只是拿来被其他模块依赖,并没有可用于展示的UI,不应该生成配置文件和初始化代码,但是,仍然生成了,删也删不掉;在1.2.5版本中,针对这个问题,做了优化,支持可过滤模块。

详细的使用说明,大家可以去中心仓库中查看:

ohpm.openharmony.cn/#/cn/detail…

和之前相比,无非就是执行插件方法发生了变更,导包由abnerRouter切换为abnerRouterFilter。

import { abnerRouterFilter } from 'ohos-router/router-plugin';

调用方法由abnerRouter切换为abnerRouterFilter。

abnerRouterFilter方法有两个参数,第一个参数是否开启插件,默认true开启,如果你不想执行插件,可以设置为false,这样,插件里的逻辑就不会再执行。第二个参数是过滤的模块名字,支持多个,如果你不想某一个模块进行生成配置和初始化,就可以设置到这里。

plugins:[ abnerRouterFilter(true,["你的过滤模块"])]

页面创建

在之前的版本中,针对UI页面组件创建,全都是手动创建一个ArkTs文件,然后书写代码,进行路由注解,简单代码如下:

@RouterPath("entry_test")@Componentexport struct TestPage { build() { //UI组件 }}

虽然代码量不多,但架不住页面多,每次创建也是很耗费时间,于是,便开发了一个创建页面的插件。

下载地址如下:

abnerming888.github.io/vip/load/Ha…

下载之后,选择本地安装插件方式进行安装。

插件安装之后,在需要创建UI页面的地方,右键找到Router Page选择合适的进行创建即可。

有两个选项,第一个是Default Page,创建时,只需要传递页面名字即可,路由会自动填充为当前模块名字+页面名字。

填好名字,回车即可,比如我写的是TestPage,回车之后,就会在当前的目录下创建一个TestPage.ets文件,实现一个简单的UI页面,后面就可以在这里进行更改。

import { RouterPath } from "@abner/router"

@RouterPath("entry_TestPage")
@Component
export struct TestPage {
@State message: string = 'Hello TestPage';

build() {
RelativeContainer() {
Text(this.message)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
.onClick(() => {
this.message = 'Welcome';
})
}
.height('100%')
.width('100%')
}
}

第二个选项是Router Name Page,和第一个的区别是,多了一个路由别名。

生成的代码,和第一种一样,唯独就是路由那里,改成了你设置的路由名字。

一般情况下,在实际的开发中,都会有自己的路由管理类,不会直接在文件中写死,所以,具体的路由地址配置,请按照自己的项目来设置。

相关总结

目前的router组件,基本上已经满足了大部分的场景需求,如果还有未满足的,或者有其他的问题,大家可以进行反馈,更详细的使用文档,大家可以关注OpenHarmony中心仓库。