sham-ui-router v6.1.0
sham-ui-router
Router for sham-ui
Install
# npm
npm install sham-ui-router# yarn
yarn add sham-ui-routerAPI
Table of Contents
- LinkToOptions
 - LinkTo
 - ActivePageContainer
 - ParamsBuilder
 - path
 - HrefTo
 - lazyPage
 - Router
 - routerStorage
 - RouterStorage
 
LinkToOptions
Options for LinkTo
Type: Object
Properties
pathstring Name of page for link. Default ''paramsObject Params of page for link. Default {}textstring Text for link. Default ''useActiveClassboolean Use activeClass options for active page link. Default falseactiveClassstring Class name for active link. Default 'active'
LinkTo
Component for link to page
Properties
optionsLinkToOptions
ActivePageContainer
Component-container for page
Examples
{% import ActivePageContainer from 'sham-ui-router/active-page-container' %}
...
<ActivePageContainer/>
...ParamsBuilder
Helper for build params for href-to directive
Type: Object
Examples
{% import path from 'sham-ui-router/params' %}
...
<a :hrefto={{path("foo").param("id", 2)}} class="custom-class-1 custom-class-2">
 Foo
</a>
...param
Add param for page
Parameters
namestring Param namevalueany Param value
Returns ParamsBuilder
_params
Set params
Parameters
valueObject
Returns ParamsBuilder
_useActiveClass
Use active class
Returns ParamsBuilder
_activeClass
Set active class
Parameters
activeClassstring
Returns ParamsBuilder
path
Create new ParamsBuilder
Parameters
pathstring Name of destination page
Returns ParamsBuilder
HrefTo
Directive for links
Parameters
component
Examples
...
  <a :hrefto={{ {"path": "foo",  "params": params} }} class="custom-class-1 custom-class-2">
    Foo
  </a>
....lazyPage
Hook for process lazy page after loader finish. Can override with DI.bind( 'router:lazy-page' )
Parameters
pageComponentClass<Component>
Returns Class<Component>
Router
Router service
Parameters
DIObject App DI containerroot(string | null) Root URL (optional, defaultnull)useHashboolean Use hash symbol as delimiter (optional, defaultfalse)hashstring Hash symbol (use useHash=true) (optional, default'#')
Examples
import FooPage from '../components/FooPage.sht';
import BarPage from '../components/BarPage.sht';
import Router from 'sham-ui-router';
const router = new Router();
router
    .bindPage(
        '/foo', // URL
        'foo', // Name
        FooPage, // Component class
        { componentOption: 1 } // Component options
    )
    .bindLazyPage( '/bar/:some_param/detail', 'bar', () => import( '../src/components/BarPage' ), {} )
    .resolve();bindPage
Bind page component & url
Parameters
urlstring Url for pagenamestring Page name*pageComponentClass<Component> Component for pagecomponentOptionsObject Options for component
Returns Router
bindLazyPage
Bind lazy loaded page component & url
Parameters
urlstring Url for pagenamestring Page nameloaderFunction Loader for page componentcomponentOptionsObject Options for component
Returns Router
navigateToRoute
Go to route by name
Parameters
resolve
Resolve current url & run router
notFound
Not found handler
navigate
Changing the page
Parameters
urlstring Destination url
hooks
Hooks
Parameters
hooksObject Object with hooks
generate
Generate url for page
Parameters
Examples
router
    .bindPage( '/trip/:tripId/edit', 'trip.edit', PageComponent, {} )
    .bindPage( '/trip/save', 'trip.save', PageComponent, {} )
    .bindPage( '/trip/:action/:tripId', 'trip.action', PageComponent, {} );
console.log(router.generate('trip.edit', { tripId: 42 })); // --> /trip/42/edit
console.log(router.generate('trip.action', { tripId: 42, action: 'save' })); // --> /trip/save/42
console.log(router.generate('trip.save')); // --> /trip/saverouterStorage
Type: RouterStorage
RouterStorage
Data storage for router service
Type: Object
Properties
urlstring Current page urlnamestring Current page nameparamsObject Current page paramsquerystring Current page queryactivePageComponentClass<Component> Current page component classactivePageOptionsObject Options for current page componentpageLoadedboolean Current page component loaded (@see Router.bindLazyPage)
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago