Перенаправление Vue.js на другую страницу

Я хотел бы сделать перенаправление в Vue.js, похожее на vanilla javascript

window.location.href = 'some_url'

Как я могу достичь этого в Vue.js?

Ответы

Ответ 1

Если вы используете vue-router, вы должны использовать router.go(path) чтобы перейти к какому-либо конкретному маршруту. Доступ к маршрутизатору можно получить из компонента, используя this.$router.

В противном случае window.location.href= 'some url'; отлично работает для не одностраничных приложений.

РЕДАКТИРОВАТЬ: router.go() изменен в VueJS 2.0. Вы можете использовать router.push({ name: "yourroutename"}) или просто router.push("yourroutename") для перенаправления.

https://router.vuejs.org/guide/essentials/named-routes.html

Ответ 2

Согласно документам, router.push выглядит как предпочтительный метод:

Чтобы перейти к другому URL-адресу, используйте router.push. Этот метод подталкивает новый вход в стек истории, поэтому, когда пользователь нажимает на браузер назад, они будут перенесены в предыдущий URL.

источник: https://router.vuejs.org/en/essentials/navigation.html

FYI: настройка Webpack и компонентов, одностраничное приложение (где вы импортируете маршрутизатор через Main.js), мне пришлось вызвать функции маршрутизатора, сказав:

this.$router

Пример: если вы хотите перенаправить маршрут, называемый "Главная", после выполнения условия:

this.$router.push('Home') 

Ответ 3

просто используйте:

window.location.href = "http://siwei.me"

Не используйте vue-router, иначе вы будете перенаправлены на " http://yoursite.com/#!/http://siwei.me "

моя среда: узел 6.2.1, версия 1.0.21, Ubuntu.

Ответ 4

Внутри тега скрипта компонента вы можете использовать роутер и сделать что-то вроде этого

this.$router.push('/url-path')

Ответ 5

Просто мертвая простая маршрутизация:

this.$router.push('Home');

Ответ 6

могу попробовать это тоже...

router.push({ name: 'myRoute' })

Ответ 7

window.location = url;

'url' - это веб-URL, который вы хотите перенаправить.

Ответ 8

Вы также можете использовать V-Bind непосредственно к шаблону, как...

<a :href="'/path-to-route/' + IdVariable">

: это аббревиатура v-bind.

Ответ 9

Допустим, мы обновляем статус заказов, нажимаем на изменение и обновляем статус, теперь мы хотим вернуться на предыдущую страницу, с которой мы пришли.

this.$router.push('../index')

здесь часть ../index означает, что вы дважды вернетесь с текущего маршрута, а затем index - это имя представления, к ../index вы хотите перейти.

в общем, this.$router.push('your_path')

Ответ 10

<div id="app">
   <a :href="path" />Link</a>
</div>

<script>
      new Vue({
        el: '#app',
        data: {
          path: 'https://www.google.com/'
        }
      });
</script> enter code here

Ответ 11

Если кто-то хочет постоянное перенаправление с одной страницы /a на другую страницу /b


Мы можем использовать опцию redirect:, добавленную в router.js. Например, если мы хотим всегда перенаправлять пользователей на отдельную страницу, когда он вводит корневой или базовый URL /:

const router = new Router({
  mode: "history",
  base: process.env.BASE_URL,
  routes: [
    {
      path: "/",
      redirect: "/someOtherPage",
      name: "home",
      component: Home,
      // () =>
      // import(/* webpackChunkName: "home" */ "./views/pageView/home.vue"),

    },
   ]

Ответ 12

если вы хотите направить на другую страницу this.$router.push({path: '/pagename'})

если вы хотите, чтобы маршрут с параметрами this.$router.push({path: '/pagename', param: {param1: 'value1', param2: value2})

Ответ 13

Навигация между routes Vue Routes

Предпочтительным методом является router.push(location, onComplete?, onAbort?)

Так как:

Чтобы перейти к другому URL-адресу, используйте router.push. Этот метод помещает новую запись в стек истории, поэтому, когда пользователь нажимает кнопку "Назад" в браузере, он перенаправляется на предыдущий URL-адрес.

Прочитайте документацию ЗДЕСЬ.

Перейдите на внешний URL

Вы не используете маршрутизатор Vue для внешней маршрутизации, он обрабатывает только маршрутизацию в вашем приложении. Используйте Vanilla JS для этого.

window.location = 'http://www.example.com';

или же

location.replace('http://example.com');

или же

window.open('http://example.com');

Ответ 14

Вы также можете работать с parent.location.href= 'url'