Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

UI-Router Core: Framework agnostic, State-based routing for JavaScript Single Page Apps

License

NotificationsYou must be signed in to change notification settings

ui-router/core

Repository files navigation

UI-Router core provides client-sideSingle Page Applicationrouting for JavaScript.This core is framework agnostic.It is used to buildUI-Router for Angular 1,UI-Router for Angular 2, andUI-Router React.

SPA Routing

Routing frameworks for SPAs update the browser's URL as the user navigates through the app. Conversely, this allowschanges to the browser's URL to drive navigation through the app, thus allowing the user to create a bookmark to alocation deep within the SPA.

UI-Router applications are modeled as a hierarchical tree of states. UI-Router provides astate machine to manage the transitions between thoseapplication states in a transaction-like manner.

Features

UI-Router Core provides the following features:

  • State-machine based routing
    • Hierarchical states
    • Enter/Exit hooks
  • Name based hierarchical state addressing
    • Absolute, e.g.,admin.users
    • Relative, e.g.,.users
  • Flexible Views
    • Nested Views
    • Multiple Named Views
  • Flexible URLs and parameters
    • Path, Query, and non-URL parameters
    • Typed parameters
      • Built in:int,string,date,json
      • Custom: define your own encoding/decoding
    • Optional or required parameters
    • Default parameter values (optionally squashed from URL)
  • Transaction-like state transitions
    • Transition Lifecycle Hooks
    • First class async support

Get Started

Get started using one of the existing UI-Router projects:

Build your own

UI-Router core can be used implement a router for any web-based component framework.There are four basic things to build for a specific component framework:

UIView

A UIView is a component which acts as a viewport for another component, defined by a state.When the state is activated, the UIView should render the state's component.

UISref (optional, but useful)

AUISref is a link (absolute, or relative) which activates a specific state and/or parameters.When theUISref is clicked, it should initiate a transition to the linked state.

UISrefActive (optional)

When combined with aUISref, aUISrefActive toggles a CSS class on/off when itsUISref is active/inactive.

Integrate with your framework's bootstrap mechanism (optional)

Implement framework specific bootstrap requirements, if any.For example, UI-Router for Angular 1 and Angular 2 integrates with the ng1/ng2 Dependency Injection lifecycles.On the other hand, UI-Router for React uses a simple JavaScript based bootstrap, i.e.,new UIRouterReact().start();.

Minimal Example

This example doesn't have UIView, UISref, or anything like that.It bootstrap the router and naively manipulates the DOM when states are activated.

https://stackblitz.com/edit/ui-router-plain-javascript?file=index.js

Note: do not model your own router off this example, it is meant to show only the bare minimum.

Getting help

Create an issue or contact us onGitter.

About

UI-Router Core: Framework agnostic, State-based routing for JavaScript Single Page Apps

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors169


[8]ページ先頭

©2009-2025 Movatter.jp