A simple router implementation that is suitable for NativeScript-Vue.
Prerequisites / Requirements
All your own components must have unique name |
All routes name must have unique name |
Your app need a main Frame in the render |
Install
npm install nativescript-vue-router-ns --save
or
yarn add nativescript-vue-router-ns
Usage
// app/router/index.js Vue const routes = name: 'dashboard.index' component: Dashboard meta: auth: true name: 'login.index' component: Login meta: guest: true const router = ignoreSame // <-- Optional. Will set if reject or accept navigate to same current component. routes /* eslint-disable-next-line no-undef */ verbose: TNS_ENV !== 'production' // <-- Optional. Will output the warnings to console.
// app/app.js or app/main.js router // ... // <-- Main Frame in render app
<!-- Your own Vue Components -->
Guards and other before actions
// app/router/index.js // ... router // ...
API
Installing
Parameters | Type | Default | Description |
---|---|---|---|
ignoreSame |
Boolean |
true |
Set if reject or accept navigate to same current component. |
routes |
Array |
[] |
Array of objects with app's routes. |
verbose |
Boolean |
false |
Show output the warnings to console. |
Navigating
This package provides 3 methods for navigation, $router.push
, $router.pushClear
and $router.back
Parameters | Type | Description |
---|---|---|
name |
String |
First parameter in push and pushClear methods. |
options |
Object |
Is an optional object, which accepts all options supported by Manual Routing |
times |
[String, Number] |
Optional parameter in back method that go back any times that you set. |
NOTE: When $router.pushClear
method is used the navigator stack is cleaned.
TODO
- Native navigation
- Before actions
- After actions
- Nested routes
Contributing
Thank you for considering contributing to the NSVueRouter! Please leave your PR or issue.