Как я могу вернуться / route-back на vue-router?

Если вы строго определяете функцию самостоятельно, и это относительно короткое определение, решение без зависимостей должно определять функцию в строке и присваивать eval () выражения вашей функции.

Например.

funcstring = 'lambda x: x> 5'
func = eval(funcstring)

, а затем необязательно присоединить исходный код к функции:

func.source = funcstring
29
задан John107 4 January 2018 в 23:03
поделиться

2 ответа

Вы можете использовать Программная навигация . Чтобы вернуться назад, вы можете использовать это:

router.go(n) 

Где n может быть положительным или отрицательным назад). Это то же самое, что history.back (). Таким образом, вы можете использовать свой элемент следующим образом:

<a @click="$router.go(-1)">back</a>
99
ответ дан José Fernando Davila 4 January 2018 в 23:03
поделиться

Если вы используете Vuex, вы можете использовать https://github.com/vuejs/vuex-router-sync

Просто инициализируйте его в вашем основном файле с помощью:

import VuexRouterSync from 'vuex-router-sync';
VuexRouterSync.sync(store, router);

Каждое изменение маршрута будет обновлять route объект состояния в Vuex. Затем вы можете создать getter, чтобы использовать объект from в состоянии маршрута или просто использовать state (лучше использовать геттеры, но это другая история https://vuex.vuejs.org/en/ getters.html ), так что вкратце (внутри методов / значений компонентов):

this.$store.state.route.from.fullPath

Вы также можете просто поместить его в компонент <router-link>:

<router-link :to="{ path: $store.state.route.from.fullPath }"> 
  Back 
</router-link>

Поэтому, когда вы используете код выше, ссылка на предыдущий путь будет генерироваться динамически.

1
ответ дан ojczeo 4 January 2018 в 23:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: