当前位置: 首页 > wzjs >正文

嘉兴网站建设哪家做得好seo排名优化哪家好

嘉兴网站建设哪家做得好,seo排名优化哪家好,安康seo,重庆做网站开发的公司Navigation的进阶知识与拦截器配置 写的不是很详细,后续有时间会补充,建议参考官方文档食用 1.如何配置路由信息 1.1 创建工程结构 src/main/ets ├── pages │ └── navigation │ ├── views │ │ ├── Mine.ets //…

Navigation的进阶知识与拦截器配置

  • 写的不是很详细,后续有时间会补充,建议参考官方文档食用

1.如何配置路由信息

1.1 创建工程结构

src/main/ets
├── pages
│   └── navigation
│       ├── views
│       │   ├── Mine.ets      // 个人中心页
│       │   ├── Login.ets     // 登录页
│       │   └── ErrorPage.ets // 错误页
│       └── NavagationIndex.ets // 导航入口
├── routerMap.json5           // 路由配置文件

1.2 核心路由配置解析(routerMap.json5)

{"routerMap": [{"name": "mine",       // 路由唯一标识符"buildFunction": "MineBuilder",   "pageSourceFile": "src/main/.../Mine.ets" },// ...其他路由项]
}

关键字段含义

关键字段说明
name路由标识符,用于编程式导航
buildFunction页面构建器函数名(关联组件注册)
pageSourceFile源代码文件位置(动态加载基础)

1.3 案例演示

1.创建首页面
@Entry
@Component
struct TextPage {@ProvidenavPathStack:NavPathStack = new NavPathStack()build() {Navigation(this.navPathStack){Text('这是首页')Button('跳到下一页去').onClick(()=>{this.navPathStack.pushPath({name:'nextOne'})})}}
}
2.创建子页面(跳转页面)
@Builder
function PageOne() {TextPage_()
}@Component
struct TextPage_ {@ConsumenavPathStack: NavPathStackbuild() {NavDestination() {Text('这是我从首页面跳过来的第一个页面')Image($r('app.media.Cover')).width(100).aspectRatio(1)Button('跳到第三个页面去').onClick(() => {this.navPathStack.pushPath({ name: 'pageTwo' })})}}
}@Builder
function PageTwo() {TextPage2_()
}@Component
struct TextPage2_ {build() {NavDestination() {Text('这是我从首页面跳过来的第二个页面')Image($r('app.media.Cover2')).width(100).aspectRatio(1)}}
}
3.配置json.map映射路径
   {"name": "nextOne","buildFunction": "PageOne","pageSourceFile": "src/main/ets/pages/TextPage_.ets"},{"name": "pageTwo","buildFunction": "PageTwo","pageSourceFile": "src/main/ets/pages/TextPage_.ets"}
4.效果展示

img

2.导航入口组件实现(NavagationIndex.ets)

1.组件结构

@Entry
@Component
struct NavagationIndex {@Provide navPathStack: NavPathStack = new NavPathStack()build() {Navigation(this.navPathStack) {// 初始页面内容Button('跳转至-我的').onClick(() => {this.navPathStack.pushPath({name: 'mine'})})}.mode(NavigationMode.Auto) // 跨设备适配}
}

2.导航模式说明

模式适用场景
NavigationMode.Stack单页面栈模式(移动端)
NavigationMode.Split分栏模式(平板/PC)
NavigationMode.Auto自动适配设备

3.拦截器配置

1.拦截器注册时机
.onAppear(() => {this.registerInterceptors()
})
2. 拦截逻辑流程图解

image-20250309205538032

3. 关键拦截逻辑代码

const token = AppStorage.get('token')! as string || '';
if (t.pathInfo?.name === 'mine' && token === '') {// 拦截动作分解t.pathStack.pop();          // 移除无效跳转t.pathStack.pushPath({      // 重定向到登录页name: "login"});
}
4.错误处理机制
if (!t.pathInfo && f.pathInfo.name !== 'error') {f.pathStack.pushPath({name: 'error'}) // 注入错误页return;
}
5.代码示例
import { promptAction } from '@kit.ArkUI'@Entry
@Component
struct NavagationIndex {@ProvidenavPathStack: NavPathStack = new NavPathStack()registerInterceptors() {this.navPathStack.setInterception({//f从哪来,t到哪去willShow: (f, t) => {if (typeof t === 'string'||typeof f ==='string') {return}//f可能是首页跳过来的//必须加个逻辑与// if(!t.pathInfo && f.pathInfo.name !='error'){//   f.pathStack.pushPath({name:'error'})//   return//   //返回不好返回// }if (t.pathInfo.name === 'mine') {promptAction.showToast({message: '拦截到我要去mine'})//拦截你 不让你跳// t.pathStack.pop()const token = AppStorage.get('token')! as string || ''//拦截!!!if (token === '') {t.pathStack.pop()//去登录t.pathStack.pushPath({name: "login"})}return}},//t 跳转之后的拦截didShow: () => {}})}build() {Navigation(this.navPathStack) {//还没有进行跳转,但是已经有展示的内容了Text('这是我的首页')Button('跳转至-我的').onClick(() => {this.navPathStack.pushPath({name: 'mine'})})}.onAppear(() => {this.registerInterceptors()}).height('100%').width('100%')//跨设备.mode(NavigationMode.Auto)}
http://www.dtcms.com/wzjs/172833.html

相关文章:

  • 儿童故事网站建设郑州网络推广服务
  • 网站建设模板元素是什么品牌关键词优化
  • 标准的软件开发流程seo企业推广案例
  • 网站快速排名怎么做营销软文范例500
  • 做网站可以先做再给钱吗淘宝客seo推广教程
  • 网站做公司蜜雪冰城网络营销案例分析
  • 网站改成响应式免费网站推广软件下载
  • 正规网站建设公司一般要多少钱外贸做网站公司哪家好
  • 网站域名自己做大泽山seo快速排名
  • 用搬瓦工做网站网址收录入口
  • b s网站开发技术长春最专业的seo公司
  • 河北沧州网站建设上海今日头条新闻
  • 正规的佛山网站建设优化软件
  • 国外服务器 网站进行经营性活动免费行情网站的推荐理由
  • 自己做的网站发布到网上视频播放不了电商培训机构靠谱吗
  • wordpress 启动慢长沙seo网站优化公司
  • 国内好的网站建设公司网站建设费用多少
  • 网站服务器时间查询工具seo推广方法有哪些
  • 那些视频网站能用来直接做href百度指数总结
  • wordpress 动图太原高级seo主管
  • 怎么给网站做访问量校园推广
  • 海尔集团的电子商务网站建设seo策略
  • 网站架构图的制作搜索引擎优化方案案例
  • 各类网站建设郑州最好的建站公司
  • 佛山网站建站郑州网络营销公司排名
  • 自己建立网站后怎么做淘客安卓手机优化大师官方下载
  • 建筑工程包括哪些项目seo网站自动推广
  • 外贸营销型网站建设温州免费建站模板
  • 彩票网站开发制作模版南宁seo外包平台
  • 网站 解析百度招聘平台