Skip to content

Vue Router Module for Vue Module Extension Framework

Notifications You must be signed in to change notification settings

kmtong/vmx-router

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

How to Use

Main Modification

import VueModx from 'vue-modx'
import RouterModule from 'vmx-router'
import SomeModule from './somemodule'
// app
import App from './App.vue'

Vue.config.productionTip = false

Vue.use(VueModx, {modules: [RouterModule, SomeModule], config: {
    router: {
        routes: [], // predefined routes if any
        scrollBehavior: () => ({ y: 0 }), // see https://router.vuejs.org/guide/advanced/scroll-behavior.html#async-scrolling
        mode: "history" // default "history"
    }
}})

// get router object from module
const router = RouterModule.router();

new Vue({
  router, // router to be initialized to vue instance
  render: h => h(App),
}).$mount('#app')

Register an Extension of "router"

import Foo from './foo.vue'

const mod = {
    name: "somemodule",
    dependsOn: ["router"],
    extensions: {
        "router": [
            // for static loading
            { path: '/foo', component: Foo },
            // for dynamic loading
            { path: '/bar', component: () => import('./bar.vue') }
            
            // same route definition as official document
            // for more information, see:
            // 1. https://router.vuejs.org/guide/#html
            // 2. https://router.vuejs.org/api/#routes

        ]
    }
}

export default mod

Register an Extension of "routeFn"

import MyLayout from './layout.vue'

const mod = {
    name: "layoutModule",
    dependsOn: ["router"],
    extensions: {
        "routeFn": () => ((route) => {
            route.component = MyLayout
        })
    }
}

export default mod

About

Vue Router Module for Vue Module Extension Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published