location.reload с VueJS

1

Есть ли способ обновить текущий вид маршрутизатора? Что-то вроде location.reload(). Но не на всей странице, только в текущем виде.

Я много искал об этом, и я попытался сделать

this.$route.router.go

/\ Это перезагружает всю страницу, а не хорошо.

Я нашел очень хорошее возможное решение здесь. Но когда я попробовал это:

vm.$forceupdate

Console.log(vm. $ ForceUpdate)

ƒ() {var vm = this; if (vm._watcher) { vm._watcher.update(); if (vm._watcher) {vm._watcher.update(); } } }}

Да! ' vm ' уже является глобальной переменной. console.log(vm)

Vue $ 3 {_uid: 0, _isVue: true, $ options: {...}, _renderProxy: Proxy, _self: Vue $ 3,...}

С этой функцией ничего не происходит. Кто-то знает, что происходит или как это сделать?

Спасибо!!

  • 0
    Не совсем уверен, что вы пытаетесь сделать, но это forceUpdate не forceupdate . И чтобы вызвать его, вам нужно сделать vm.$forceUpdate()
  • 1
    почему ты хочешь сделать это?
Показать ещё 6 комментариев
Теги:
vue.js
vue-router
vuejs2
vue-component

1 ответ

0

Все, что находится в data или computed является реактивным и обновит представление об изменениях. Следовательно, вы должны хранить JSON в data (или если он используется в магазине - используйте mapState). Если вам нужен более конкретный ответ - пожалуйста, укажите пример.

  • 0
    Привет Artur.js, да! Я знаю это. Моя настоящая проблема заключается в том, что я делаю Axios.Get с помощью API отдыха. и когда API получит новое значение, представление не будет обновлено, потому что я должен сделать новый Axios.Get. Вот почему я хотел сделать обновление при просмотре, когда я нажимаю на представление в меню.
  • 0
    Откуда вы знаете, что данные на бэкенде изменились? Если у вас есть сокеты - сделайте еще один вызов get на MSG. Также вы можете использовать его (например, sockets.io). В противном случае вы можете установить тайм-аут для получения данных каждые n секунд и т. Д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню