Parameters
Parameters allow you to pass data to states via the URL or as non-URL state data. This guide covers parameter configuration, types, and usage patterns.Parameter Basics
Parameters can be defined in the URL or as non-URL parameters:URL Parameters
Path Parameters
Path parameters are part of the URL path:Query Parameters
Query parameters appear after? in the URL:
Parameter Types
UI-Router includes built-in parameter types and supports custom types.Built-in Types
Type Declaration
Declare types in URL or params:Parameter Configuration
Theparams object provides detailed parameter configuration:
Default Values
Array Parameters
Squash - Omit Default Values
Control how default values appear in URLs:Dynamic Parameters
Dynamic parameters don’t cause state reload when changed:Raw Parameters
Disable URL encoding:Inherit - Parameter Inheritance
Control parameter inheritance:Non-URL Parameters
Define parameters that don’t appear in the URL:Custom Parameter Types
Define custom parameter types for encoding/decoding:Registering Custom Types
Example: Integer Array Type
Example: Date Range Type
Accessing Parameters
In Transition Hooks
In Resolves
Via StateService
Parameter Validation
Validate parameters during transitions:Common Patterns
Pagination Parameters
Search/Filter Parameters
Tab Navigation
Modal State with Return
Best Practices
params: {
page: { dynamic: true }, // Don't reload on page change
selectedId: { dynamic: true } // Don't reload on selection
}
Related Documentation
- State Configuration - Define parameters in states
- Navigation - Pass parameters when navigating
- URL Routing - URL parameter patterns
API Reference
- ParamDeclaration - Parameter configuration interface
- ParamTypes - Parameter type implementation
- Param - Parameter class (internal)