Skip to content

I Can't Use 'Vue.$router' #3815

@kimsupin

Description

@kimsupin

Version

3.6.0

Steps to reproduce

import router from './router';

Vue.use(VueRouter);

new Vue({
   router
}).$mount('#app');

console.log(Vue.$router) // undefined

What is expected?

스크린샷 2022-12-27 오후 7 28 55

What is actually happening?

undefined


I check vue-router/install.js

  Object.defineProperty(Vue.prototype, '$router', {
    get () { return this._routerRoot._router }
  })

  Object.defineProperty(Vue.prototype, '$route', {
    get () { return this._routerRoot._route }
  })

I think it's gonna work to write this.

  Object.defineProperty(Vue, '$router', {
    get () { return this._routerRoot._router }
  })

  Object.defineProperty(Vue, '$route', {
    get () { return this._routerRoot._route }
  })

new attributes is need to be assigned Vue, not Vue.property.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions