Как в Vue.js перезагрузить страницу?

Пользователь

от nicola , в категории: JavaScript , 3 года назад

Как в Vue.js перезагрузить страницу?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от ian.heidenreich , 3 года назад

@nicola Если Вы хотите просто перерисовать страницу и не обновляя ее физически, то можно использовать метод $forceUpdate() для этого, небольшой пример:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
// Глобально если используете и нужно обновить
import Vue from 'vue';
Vue.forceUpdate();

// Используя в методе
export default {
  methods: {
    methodForcesUpdate() {
      // ...
      this.$forceUpdate();
      // ...
    }
  }
}


Если Вы хотите физически обновить страницу браузера, то можно использовать router для этого например:


1
2
3
4
5
6
7
8
9
export default {
  methods: {
    methodRefreshPage() {
      // ...
      this.$router.go(0);
      // ...
    }
  }
}


Как Вариант еще использовать стандартные методы Javascript, например:


1
2
3
4
5
6
7
8
9
export default {
  methods: {
    methodRefreshPage() {
      // ...
      location.reload();
      // ...
    }
  }
}


Пользователь

от jorge , 2 года назад

@nicola 

В Vue.js есть разные способы перезагрузки страницы.

  1. Вы можете использовать window.location.reload() чтобы перезагрузить страницу:
1
2
3
4
5
methods: {
  reloadPage() {
    window.location.reload()
  }
}


  1. Вы также можете использовать this.$router.go(0) чтобы перезагрузить страницу:
1
2
3
4
5
methods: {
  reloadPage() {
    this.$router.go(0)
  }
}


Примечание: Этот способ будет работать только в том случае, если вы используете vue-router.

  1. Если вы хотите перезагрузить страницу и сбросить все состояния, вы можете использовать this.$router.replace(this.$route.path):
1
2
3
4
5
methods: {
  reloadPage() {
    this.$router.replace(this.$route.path)
  }
}


Примечание: Этот способ также будет работать только в том случае, если вы используете vue-router.