Instalação
sh
npm install vue-router-ns@nextPor enquanto está em beta, publicado sob a tag next. Requer nativescript-vue 3 e @nativescript/core 8.9 ou mais novo.
Primeiros passos
Exporte o router de um router.ts e instale-o:
ts
// app.ts
import { createApp } from 'nativescript-vue'
import App from './App.vue'
import { router } from './router'
createApp(App).use(router).start()vue
<!-- App.vue -->
<template>
<RouterView />
</template>O <RouterView> renderiza um Frame e mostra a rota dada em initial (/ por padrão). Todo componente de rota é uma página, então ele renderiza um <Page>:
vue
<!-- pages/Message.vue -->
<script setup lang="ts">
import { useRoute, useRouter } from 'vue-router-ns'
const route = useRoute()
const router = useRouter()
</script>
<template>
<Page>
<ActionBar :title="`Message ${route.params.id}`" />
<Button text="Reply" @tap="router.push('/compose')" />
</Page>
</template>O app de demonstração
O repositório traz um pequeno app de e-mail com duas abas em demo/. Ele cobre params tipados, um modal de composição que devolve o texto, um leave guard que só pergunta enquanto há rascunho, um guard de login, uma página lazy, clearHistory, uma página de mensagem que acompanha o swipe de voltar do Android, e abas que voltam para a primeira página quando tocadas de novo.
Com o NativeScript CLI instalado:
sh
npm install
npm run dev # compila o router em modo watch
cd demo
npm install
ns run ios # ou: ns run android