当前位置: 首页> 汽车> 新车 > 百度seo关键词排名推荐_公司需要做网站吗_网络营销推广要求_哪里能买精准客户电话

百度seo关键词排名推荐_公司需要做网站吗_网络营销推广要求_哪里能买精准客户电话

时间:2025/7/13 0:05:42来源:https://blog.csdn.net/Forever_Hopeful/article/details/144382693 浏览次数: 0次
百度seo关键词排名推荐_公司需要做网站吗_网络营销推广要求_哪里能买精准客户电话

页面路由、组件生命周期

一、路由的基本使用

1. 如何新建页面
  1. 直接右键新建Page。【这个是最直接最常用的】
  2. 新建普通ets文件,然后通过配置变成页面。 【该方法是遇到这种情况的解决方案】

在这里插入图片描述

2. 路由 - 页面之间的跳转
  1. 使用 **router.pushUrl({})**进行跳转
import { router } from '@kit.ArkUI'
@Entry
@Component
struct Login {build () {Column() {Text('登录页').fontSize(66)// 点击按钮,从登录页跳转到首页Button('登录(跳转首页)').onClick(() => {router.pushUrl({url: 'pages/Index'})})}}
}
  1. 使用 router.replaceUrl({}) 进行跳转(该方法不能返回
import { router } from '@kit.ArkUI'
@Entry
@Component
struct Login {build () {Column() {Text('登录页').fontSize(66)// 点击按钮,从登录页跳转到首页Button('登录(跳转首页)').onClick(() => {router.replaceUrl({url: 'pages/Index'})})}}
}
  1. 使用 router.back 进行页面返回
  • 实际开发中,登录成功跳转首页是不能再返回的,这里是示例代码!
import { router } from '@kit.ArkUI'@Entry
@Component
struct Index {build() {Column() {Text('首页').fontSize(66)Button('返回登录页面').onClick(() => {router.back()  // 需要注意:该方法一般不会和 replaceUrl方法配合使用})}}
}
3. 页面栈

页面栈:就如同弹夹一样,先进后出原则。

  1. router.pushUrl: 就像当于是将子弹一直往弹夹里面装,及时返回到栈里面有的页面依旧会累加进栈。
  2. router.replaceUrl: 装一个子弹,打一个子弹,栈里面只会保留当前的页面,所以,router.back方法无法使用。
  1. router.getLength() 获取页面栈长度
import { router } from '@kit.ArkUI'@Entry
@Component
struct Index {build() {Column() {Text('首页').fontSize(66)Button('获取页面栈长度').onClick(() => {let num: string = router.getLength() // 获取页面栈长度console.log('页面栈长度为', num)})}}
}
  1. router.clear() 清空页面栈清空页面栈
import { router } from '@kit.ArkUI'@Entry
@Component
struct Index {build() {Column() {Text('首页').fontSize(66)Button('清空页面栈').onClick(() => {router.clear() // 清空页面栈})}}
}
4. 路由模式

在这里插入图片描述

5. 路由传参

我们 在 A 页面 跳转到 B 页面的同时,携带 A 页面数据跳转过去,B页面可以去除携带过来的数据包。

第一步: 在 A 页面,传递一个 params 对象(将数据打包传递给B)

      // 点击按钮,从登录页跳转到首页Button('携带参数跳转首页').onClick(() => {router.pushUrl({url: 'pages/Index',// 数据打包成对象,丢过去!params: {username: this.username,password: this.password}})})

第二步: 取出数据包

  • 数据传递过来,需要通过类型断言,并且数据名字保持一致!
import { router } from '@kit.ArkUI'// 创建接口,指定携带过来数据包的类型
interface UserInformation {username: string,password: string
}@Entry
@Component
struct Index {build() {Column() {Text('首页').fontSize(66)Button('获取A页面传递过来的数据').onClick(() => {// 获取数据包,记得类型断言。否则报错let getUserData: UserInformation = router.getParams() as UserInformation// 输出数据内容console.log('数据包内容为:', getUserData.username + '-' + getUserData.username)})}}
}

在这里插入图片描述

二、生命周期函数(页面、组件)

1. 页面生命周期函数

在这里插入图片描述

2. 组件生命周期函数

在这里插入图片描述

  • 需要注意的是, @Entry修饰的是不是也可以使用组件的生命周期函数呀!
    在这里插入图片描述
关键字:百度seo关键词排名推荐_公司需要做网站吗_网络营销推广要求_哪里能买精准客户电话

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: