# Interface TransitionOptions

The TransitionOptions object can be used to change the behavior of a transition.

It is passed as the third argument to [[StateService.go]], [[StateService.transitionTo]]. It can also be used with a `uiSref`.

interface TransitionOptions {
current?: () => Transition;
custom?: any;
inherit?: boolean;
location?: boolean | "replace";
notify?: boolean;
redirectedFrom?: Transition;
relative?: string | StateDeclaration | StateObject;
reload?: string | boolean | StateDeclaration | StateObject;
reloadState?: StateObject;
source?: "url" | "unknown" | "sref" | "redirect" | "otherwise";
supercede?: boolean;
}

- Defined in src/router/transition/interface.ts:15

##### Index

### Properties

current?
custom?
inherit?
location?
notify?
redirectedFrom?
relative?
reload?
reloadState?
source?
supercede?

## Properties

### `Optional` `Internal` current

current?: () => Transition

- Defined in src/router/transition/interface.ts:93

### `Optional` custom

custom?: any

You can define your own Transition Options inside this property and use them, e.g., from a Transition Hook

- Defined in src/router/transition/interface.ts:73

### `Optional` inherit

inherit?: boolean

This option sets whether or not the transition's parameter values should be inherited from the current parameter values.

- If `true`, it will inherit parameter values from the current parameter values.
- If `false`, only the parameters which are provided to `transitionTo` will be used.

#### Default

`true`

- Defined in src/router/transition/interface.ts:42

### `Optional` location

location?: boolean | "replace"

This option changes how the Transition interacts with the browser's location bar (URL).

- If `true`, it will update the url in the location bar.
- If `false`, it will not update the url in the location bar.
- If it is the string `"replace"`, it will update the url and also replace the last history record.

#### Default

`true`

- Defined in src/router/transition/interface.ts:25

### `Optional` notify

notify?: boolean

#### Deprecated

- Defined in src/router/transition/interface.ts:47

### `Optional` `Internal` redirectedFrom

redirectedFrom?: Transition

If this transition is a redirect, this property should be the original Transition (which was redirected to this one)

- Defined in src/router/transition/interface.ts:91

### `Optional` relative

relative?: string | StateDeclaration | StateObject

When transitioning to relative path (e.g '`^`'), this option defines which state to be relative from.

#### Default

`$state.current`

- Defined in src/router/transition/interface.ts:31

### `Optional` reload

reload?: string | boolean | StateDeclaration | StateObject

This option may be used to force states which are currently active to reload.

During a normal transition, a state is "retained" if:

- It was previously active
- The state's parameter values have not changed
- All the parent states' parameter values have not changed

Forcing a reload of a state will cause it to be exited and entered, which will:

- Refetch that state's resolve data

- Exit the state (onExit hook)

- Re-enter the state (onEnter hook)

- Re-render the views (controllers and templates)

- When `true`, the destination state (and all parent states) will be reloaded.

- When it is a string and is the name of a state, or when it is a State object, that state and any children states will be reloaded.

#### Default

`false`

- Defined in src/router/transition/interface.ts:69

### `Optional` `Internal` reloadState

reloadState?: StateObject

- Defined in src/router/transition/interface.ts:87

### `Optional` `Internal` source

source?: "url" | "unknown" | "sref" | "redirect" | "otherwise"

- Defined in src/router/transition/interface.ts:95

### `Optional` supercede

supercede?: boolean

This option may be used to cancel the active transition (if one is active) in favour of the this one. This is the default behaviour or ui-router.

- When `true`, the active transition will be canceled and new transition will begin.
- when `false`, the transition will be canceled if a transition is already running. This can be useful in cases where you only want to navigate to a different state if you are not already navigating somewhere.

#### Default

`true`

- Defined in src/router/transition/interface.ts:85