Есть ли способ использовать компоненты, импортированные в main.js во всех различных компонентах Vue?

#javascript #vue.js #vue-component #vue-router

Вопрос:

Например, В main.js Я импортировал Vue-маршрутизатор и создал новый vue-маршрутизатор, подобный этому:

 import VueRouter from "vue-router";

const router = new VueRouter({
  routes,
  mode: "history",
});


new Vue({
  router,
  render: (h) => h(App),
}).$mount("#app");
 

Затем в другом компоненте, расположенном в папке компонентов, которую я пытаюсь использовать:

 router.push({ name: 'New page' });
 

Но я получаю

«маршрутизатор» не определен, нет-не определено

Есть ли способ импортировать компонент только один раз?

Комментарии:

1. Вы должны использовать this.$router.push({ name: 'New page' });

2. @Буссаджрабрахим это зависит от того, используете ли вы api options или composition нет? В составе api необходимо использовать useRoute . Подробнее

3. @Chin.Удара Похоже, что он использует vue 2, а не vue 3

4. VueRouter — это не компонент, а плагин Vue. Как только вы установите его на корневой экземпляр Vue, он автоматически станет доступен во всех ваших других компонентах под именем this.$router