1e41f4b71Sopenharmony_ci# Navigator
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci路由容器组件,提供路由跳转能力。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **说明:**
6e41f4b71Sopenharmony_ci>
7e41f4b71Sopenharmony_ci> 从API Version 13 开始,该组件不再维护,推荐使用组件[Navigation](ts-basic-components-navigation.md)进行页面路由。
8e41f4b71Sopenharmony_ci>
9e41f4b71Sopenharmony_ci> 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci## 子组件
13e41f4b71Sopenharmony_ci
14e41f4b71Sopenharmony_ci可以包含子组件。
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci## 接口
18e41f4b71Sopenharmony_ci
19e41f4b71Sopenharmony_ciNavigator(value?: {target: string, type?: NavigationType})
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**参数:**
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ci| 参数名 | 类型       | 必填 | 说明                                       |
28e41f4b71Sopenharmony_ci| ------ | -------------- | ---- | ---------------------------------------------- |
29e41f4b71Sopenharmony_ci| target | string         | 是   | 指定跳转目标页面的路径。     |
30e41f4b71Sopenharmony_ci| type   | [NavigationType](#navigationtype枚举说明) | 否   | 指定路由方式。<br/>默认值:NavigationType.Push |
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci## NavigationType枚举说明
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci| 名称      | 值  | 说明                       |
39e41f4b71Sopenharmony_ci| ------- | ------- | -------------------------- |
40e41f4b71Sopenharmony_ci| Push    | 1 | 跳转到应用内的指定页面。               |
41e41f4b71Sopenharmony_ci| Replace | 2 | 用应用内的某个页面替换当前页面,并销毁被替换的页面。 |
42e41f4b71Sopenharmony_ci| Back    | 3 | 返回到指定的页面。指定的页面不存在栈中时不响应。未传入指定的页面时返回上一页。 |
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ci## 属性
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci### active
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ciactive(value: boolean)
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ci设置当前路由组件是否处于激活状态,处于激活状态时,会生效相应的路由操作。
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci**参数:** 
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci| 参数名 | 类型    | 必填 | 说明                       |
59e41f4b71Sopenharmony_ci| ------ | ------- | ---- | -------------------------- |
60e41f4b71Sopenharmony_ci| value  | boolean | 是   | 路由组件是否处于激活状态。 |
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci### params
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ciparams(value: object)
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci设置跳转时传递到目标页面的数据。
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci**参数:** 
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                                         |
75e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------------------------------------------------ |
76e41f4b71Sopenharmony_ci| value  | object | 是   | 跳转时要同时传递到目标页面的数据,可在目标页面使用[router.getParams()](../js-apis-router.md#routergetparams)获得。 |
77e41f4b71Sopenharmony_ci
78e41f4b71Sopenharmony_ci### target
79e41f4b71Sopenharmony_ci
80e41f4b71Sopenharmony_citarget(value: string)
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci设置跳转目标页面的路径。 目标页面需加入main_pages.json文件中。
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci**参数:** 
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明               |
91e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ------------------ |
92e41f4b71Sopenharmony_ci| value  | string | 是   | 转目标页面的路径。 |
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci### type
95e41f4b71Sopenharmony_citype(value: NavigationType)
96e41f4b71Sopenharmony_ci
97e41f4b71Sopenharmony_ci设置路由跳转方式。
98e41f4b71Sopenharmony_ci
99e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full
102e41f4b71Sopenharmony_ci
103e41f4b71Sopenharmony_ci**参数:** 
104e41f4b71Sopenharmony_ci
105e41f4b71Sopenharmony_ci| 参数名 | 类型   | 必填 | 说明                                           |
106e41f4b71Sopenharmony_ci| ------ | ------ | ---- | ---------------------------------------------- |
107e41f4b71Sopenharmony_ci| value  | [NavigationType](#navigationtype枚举说明) | 是   | 路由跳转方式。<br/>默认值:NavigationType.Push |
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci## 示例
111e41f4b71Sopenharmony_ci
112e41f4b71Sopenharmony_ci```ts
113e41f4b71Sopenharmony_ci// Navigator.ets
114e41f4b71Sopenharmony_ci@Entry
115e41f4b71Sopenharmony_ci@Component
116e41f4b71Sopenharmony_cistruct NavigatorExample {
117e41f4b71Sopenharmony_ci  @State active: boolean = false
118e41f4b71Sopenharmony_ci  @State name: NameObject = { name: 'news' }
119e41f4b71Sopenharmony_ci
120e41f4b71Sopenharmony_ci  build() {
121e41f4b71Sopenharmony_ci    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) {
122e41f4b71Sopenharmony_ci      Navigator({ target: 'pages/container/navigator/Detail', type: NavigationType.Push }) {
123e41f4b71Sopenharmony_ci        Text('Go to ' + this.name.name + ' page')
124e41f4b71Sopenharmony_ci          .width('100%').textAlign(TextAlign.Center)
125e41f4b71Sopenharmony_ci      }.params(new TextObject(this.name)) // 传参数到Detail页面
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci      Navigator() {
128e41f4b71Sopenharmony_ci        Text('Back to previous page').width('100%').textAlign(TextAlign.Center)
129e41f4b71Sopenharmony_ci      }.active(this.active)
130e41f4b71Sopenharmony_ci      .onClick(() => {
131e41f4b71Sopenharmony_ci        this.active = true
132e41f4b71Sopenharmony_ci      })
133e41f4b71Sopenharmony_ci    }.height(150).width(350).padding(35)
134e41f4b71Sopenharmony_ci  }
135e41f4b71Sopenharmony_ci}
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ciinterface NameObject {
138e41f4b71Sopenharmony_ci  name: string;
139e41f4b71Sopenharmony_ci}
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ciclass TextObject {
142e41f4b71Sopenharmony_ci  text: NameObject;
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci  constructor(text: NameObject) {
145e41f4b71Sopenharmony_ci    this.text = text;
146e41f4b71Sopenharmony_ci  }
147e41f4b71Sopenharmony_ci}
148e41f4b71Sopenharmony_ci```
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci```ts
151e41f4b71Sopenharmony_ci// Detail.ets
152e41f4b71Sopenharmony_ciimport { router } from '@kit.ArkUI'
153e41f4b71Sopenharmony_ci
154e41f4b71Sopenharmony_ci@Entry
155e41f4b71Sopenharmony_ci@Component
156e41f4b71Sopenharmony_cistruct DetailExample {
157e41f4b71Sopenharmony_ci  // 接收Navigator.ets的传参
158e41f4b71Sopenharmony_ci  params: Record<string, NameObject> = router.getParams() as Record<string, NameObject>
159e41f4b71Sopenharmony_ci  @State name: NameObject = this.params.text
160e41f4b71Sopenharmony_ci
161e41f4b71Sopenharmony_ci  build() {
162e41f4b71Sopenharmony_ci    Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) {
163e41f4b71Sopenharmony_ci      Navigator({ target: 'pages/container/navigator/Back', type: NavigationType.Push }) {
164e41f4b71Sopenharmony_ci        Text('Go to back page').width('100%').height(20)
165e41f4b71Sopenharmony_ci      }
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci      Text('This is ' + this.name.name + ' page')
168e41f4b71Sopenharmony_ci        .width('100%').textAlign(TextAlign.Center)
169e41f4b71Sopenharmony_ci    }
170e41f4b71Sopenharmony_ci    .width('100%').height(200).padding({ left: 35, right: 35, top: 35 })
171e41f4b71Sopenharmony_ci  }
172e41f4b71Sopenharmony_ci}
173e41f4b71Sopenharmony_ci
174e41f4b71Sopenharmony_ciinterface NameObject {
175e41f4b71Sopenharmony_ci  name: string;
176e41f4b71Sopenharmony_ci}
177e41f4b71Sopenharmony_ci```
178e41f4b71Sopenharmony_ci
179e41f4b71Sopenharmony_ci```ts
180e41f4b71Sopenharmony_ci// Back.ets
181e41f4b71Sopenharmony_ci@Entry
182e41f4b71Sopenharmony_ci@Component
183e41f4b71Sopenharmony_cistruct BackExample {
184e41f4b71Sopenharmony_ci  build() {
185e41f4b71Sopenharmony_ci    Column() {
186e41f4b71Sopenharmony_ci      Navigator({ target: 'pages/container/navigator/Navigator', type: NavigationType.Back }) {
187e41f4b71Sopenharmony_ci        Text('Return to Navigator Page').width('100%').textAlign(TextAlign.Center)
188e41f4b71Sopenharmony_ci      }
189e41f4b71Sopenharmony_ci    }.width('100%').height(200).padding({ left: 35, right: 35, top: 35 })
190e41f4b71Sopenharmony_ci  }
191e41f4b71Sopenharmony_ci}
192e41f4b71Sopenharmony_ci```
193e41f4b71Sopenharmony_ci
194e41f4b71Sopenharmony_ci![zh-cn_image_0000001219864145](figures/zh-cn_image_0000001219864145.gif)
195