# Navigator The **** component provides redirection. ## Required Permissions None ## Child Components This component can contain child components. ## APIs Navigator\(value?: \{target: string, type?: NavigationType\}\) Creates a navigator. - Parameters Name Type Mandatory Default Value Description target string Yes - Path of the target page to be redirected to. type NavigationType No Push Navigation type. - NavigationType enums Name Description Push Navigates to a specified page in the application. Replace Replaces the current page with another one in the application and destroys the current page. Back Returns to the previous page or a specified page. ## Attributes Name Parameters Default Value Description active boolean - Whether the <Navigator> component is activated. If the component is activated, the corresponding navigation takes effect. params Object undefined Data that needs to be passed to the target page during redirection. You can use router.getParams() to obtain the data on the target page. ## Example ``` // Navigator Page @Entry @Component struct NavigatorExample { @State active: boolean = false @State Text: string = 'news' build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) { Navigator({ target: 'pages/container/navigator/Detail', type: NavigationType.Push }) { Text('Go to ' + this.Text + ' page').width('100%').textAlign(TextAlign.Center) }.params({ text: this.Text }) Navigator() { Text('Back to previous page').width('100%').textAlign(TextAlign.Center) }.active(this.active) .onClick(() => { this.active = true }) }.height(150).width(350).padding(35) } } ``` ``` // Detail Page import router from '@system.router' @Entry @Component struct DetailExample { @State text: string = router.getParams().text build() { Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) { Navigator({ target: 'pages/container/navigator/Back', type: NavigationType.Push }) { Text('Go to back page').width('100%').height(20) } Text('This is ' + this.text + ' page').width('100%').textAlign(TextAlign.Center) } .width('100%').height(200).padding({ left: 35, right: 35, top: 35 }) } } ``` ``` // Back Page @Entry @Component struct BackExample { build() { Column() { Navigator({ target: 'pages/container/navigator/Navigator', type: NavigationType.Back }) { Text('Return to Navigator Page').width('100%').textAlign(TextAlign.Center) } }.width('100%').height(200).padding({ left: 35, right: 35, top: 35 }) } } ``` ![](figures/navigator.gif)
Name
Type
Mandatory
Default Value
Description
target
string
Yes
-
Path of the target page to be redirected to.
type
NavigationType
No
Push
Navigation type.
Navigates to a specified page in the application.
Replace
Replaces the current page with another one in the application and destroys the current page.
Back
Returns to the previous page or a specified page.
Parameters
active
boolean
Whether the <Navigator> component is activated. If the component is activated, the corresponding navigation takes effect.
params
Object
undefined
Data that needs to be passed to the target page during redirection. You can use router.getParams() to obtain the data on the target page.