2.0.3 • Published 8 months ago
doz-router v2.0.3
doz-router
Routing for DOZ framework
Live here (doesn't work.. I will fix it)
Install
npm install --save doz-router
Basic example
import Doz from 'doz'
import 'doz-router'
Doz.component('home-page', {
template(h) {
return h`
<div>I'm home page <a data-router-link data-router-anchor-link href="#my-anchor">anchor link</a></div>
`
}
});
Doz.component('about-page', {
template(h) {
return h`
<div>I'm about page</div>
`
}
});
Doz.component('contact-page', {
template(h) {
return h`
<div>I'm contact page</div>
`
}
});
Doz.component('page-not-found', {
template(h) {
return h`
<div>Page not found</div>
`
}
});
new Doz({
root: '#app',
template(h) {
return h`
<nav>
<a data-router-link="true" href="/">Home</a>
<a data-router-link="true" href="/about">About</a>
<a data-router-link="true" href="/contact">Contact</a>
<a data-router-link="true" href="/not-found-page-bla-bla">Not found</a>
</nav>
<doz-router suspendcontent>
<home-page route="/"/>
<about-page route="/about"/>
<contact-page route="/contact"/>
<page-not-found route="*"/>
</doz-router>
`
}
});
Using HTML5 api pushstate
new Doz({
root: '#app',
template(h) {
return h`
<doz-router mode="history" suspendcontent>
//...
</doz-router>
`
}
});
Dynamic routes
new Doz({
root: '#app',
template(h) {
return h`
<doz-router suspendcontent>
<user-page route="/user/:id"/>
</doz-router>
`
}
});
Wild cards
new Doz({
root: '#app',
template(h) {
return h`
<nav>
<a data-router-link="true" data-router-link-radix="true" href="/docs/">Docs</a>
<a data-router-link="true" href="/docs/something">Docs Something</a>
</nav>
<doz-router suspendcontent>
<docs-page route="/docs/*"/>
</doz-router>
`
}
});
Props
Name | Default | Description | Since |
---|---|---|---|
hash | # | hash symbol | |
class-active-link | router-link-active | css class for active router link | |
link-attr | data-router-link | attribute that identify link | |
mode | hash | router mode "hash" or "history" (html5 api) | |
root | / | base root, works only in "history" mode | |
initial-redirect | applies a redirect to specific path if initial path is "/" | 1.4.0 | |
initial-redirect-last | applies a redirect to last path visited | 1.8.0 | |
no-destroy | when a route changes the component will not be destroyed but only unmounted from the DOM, so the state will not change | 1.6.0 |
Instance methods
navigate
Param | Type | Default | Description |
---|---|---|---|
path | string | undefined | path to navigate |
params | object | undefined | optional params |
Example
this.router.navigate('/about');
currentPath
Returns current path. (since 1.0.0)
param
Param | Type | Default | Description |
---|---|---|---|
property | string | undefined | property name |
Example
// A route defined like so '/user/:id'
this.router.param('id');
query
Param | Type | Default | Description |
---|---|---|---|
property | string | undefined | property name |
Example
// A route defined like so '/news/?search=tech'
this.router.query('search');
Changelog
You can view the changelog here
License
doz-router is open-sourced software licensed under the MIT license
Author
Fabio Ricali
2.0.3
8 months ago
2.0.1
8 months ago
2.0.0
8 months ago
1.12.3
2 years ago
1.12.4
2 years ago
1.12.2
2 years ago
1.12.1
2 years ago
1.12.0
2 years ago
1.11.0
2 years ago
1.10.0
2 years ago
1.9.1
2 years ago
1.9.0
3 years ago
1.8.3
3 years ago
1.8.2
3 years ago
1.8.1
4 years ago
1.8.0
4 years ago
1.7.1
4 years ago
1.7.0
4 years ago
1.6.4
4 years ago
1.6.3
4 years ago
1.6.2
5 years ago
1.6.1
5 years ago
1.6.0
5 years ago
1.5.0
5 years ago
1.4.4
5 years ago
1.4.3
5 years ago
1.4.2
6 years ago
1.4.1
6 years ago
1.4.0
6 years ago
1.3.0
6 years ago
1.2.3
6 years ago
1.2.2
6 years ago
1.2.1
6 years ago
1.2.0
6 years ago
1.1.1
6 years ago
1.1.0
6 years ago
1.0.0
6 years ago
0.1.4
6 years ago
0.1.3
6 years ago
0.1.2
6 years ago
0.1.1
6 years ago
0.1.0
6 years ago