0.5.2 • Published 4 years ago

vue-stack-navigator v0.5.2

Weekly downloads
5
License
MIT
Repository
github
Last release
4 years ago

Vue Stack Navigator

vue-stack-navigator is a stack navigator for Vue apps

Demo for vue-stack-navigator

Navigation

Concept

In the browser navigator model, when navigate from FooScreen to BarScreen, BarScreen created, FooScreen destroyed, when back to FooScreen, FooScreen created again, BarScreen destroyed, but in the App navigator model, FooScreen keep alived. VueStackNavigator bring this ability to you.

Feature

  1. Stack navigator like App
  2. Smooth transition animation
  3. Work with vue-router

Installation

npm

npm install vue-stack-navigator

Usage

import Vue from 'vue'
import VueRouter from 'vue-router'
import VueCompositionApi from '@vue/composition-api'
import VueStackNavigator, { AppContainer } from 'vue-stack-navigator'

Vue.use(VueCompositionApi)
Vue.use(VueStackNavigator)

const FooScreen = {
  template: '<div class="screen foo"><router-link to="bar">foo</router-link></div>',
}

const BarScreen = {
  template: '<div class="screen bar"><router-link to="foo">bar</router-link></div>',
}

const routes = [
  { path: '/', redirect: '/foo' },
  { path: '/foo', component: FooScreen },
  { path: '/bar', component: BarScreen }
]

const router = new VueRouter({
  routes
})

const app = new Vue({
  ...AppContainer,
  router
}).$mount('#app')

Lifecycle

import { inject } from '@vue/composition-api'
import { onAfterEnter } from 'vue-stack-navigator'

function useData() {
  const data = ref(null)
  const dataPromise = fetch('xxx')
  onAfterEnter(async () => {
    data.value = await dataPromise
  })

  return {
    data,
  }
}

const FooScreen = {
  setup() {
    const { data } = useData()

    return {
      data,
    }
  },
}

Example

  1. Clone this repo
  2. Run npm run build
  3. Open ./example/index.html in your browser
0.5.2

4 years ago

0.5.1

5 years ago

0.5.0

5 years ago

0.4.7

5 years ago

0.4.6

5 years ago

0.4.4

5 years ago

0.4.3

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago