1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hezf-vue-page-stack

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Vue-page-stack

Downloads Downloads
License Version

v3.2.0

  1. Исправлена ошибка router.go.

v3.1.4

  1. Исправлена ошибка обновления браузера и последующего возврата назад.

v3.1.3

  1. Устранена проблема кэширования страниц при использовании replace.

v3.1.2

  1. Удален параметр stack-key из URL.
  2. Из-за специальной обработки встроенных компонентов в Vue3.x в настоящее время невозможно использовать его вместе с Transition.

Это версия Vue3.0, для Vue2.0 нажмите эту ссылку

Английский | 简体中文


Vue3 SPA менеджер навигации, кэширует пользовательский интерфейс в SPA как нативное приложение, а не уничтожает его.

Пример

preview

демо-код

Особенности

  • 🐉 Расширение vue-router, исходная логика навигации остаётся прежней
  • push или forward отображает страницу, и вновь отображённая страница сохраняется в стеке
  • 🏆 back или go(отрицательное значение): когда предыдущие страницы не перерисовываются, но считываются из стека, эти страницы сохраняют предыдущее состояние содержимого, такое как содержимое формы, положение прокрутки полосы прокрутки и т. д.
  • 🏈 back или go(отрицательное значение) удаляет неиспользуемые страницы из стека
  • 🎓 replace обновит текущую страницу в стеке
  • 🎉 Активированная функция хука срабатывает при возврате к предыдущей странице
  • 🚀 Поддержка событий обратного и прямого перехода браузера
  • 🐰 Предоставляет изменения направления маршрутизации и может добавлять различные анимации при переходе вперёд и назад

Разница между VuePageStack и KeepAlive

  • 🌱 VuePageStack не предоставляет параметры include, exclude и max, потому что VuePageStack хочет добиться полного управления стеком страниц, только по порядку входа и выхода
  • 🪁 KeepAlive будет продолжать кэшировать страницу после её кэширования, а VuePageStack поможет уничтожить лишние страницы на основе иерархии стека страниц
  • 🧬 KeepAlive заходит (не возвращается) на ту же страницу маршрута и продолжает повторно использовать ранее кэшированную страницу, в то время как VuePageStack перерисовывает страницу

Установка и использование

Установка

pnpm install vue-page-stack

Использование

import { createApp } from 'vue';
import { VuePageStackPlugin } from 'vue-page-stack';

const app = createApp(App);

// router is necessary
app.use(VuePageStackPlugin, { router });
// App.vue
<template>
  <router-view v-slot="{ Component }">
    <vue-page-stack @back="onBack" @forward="onForward">
      <component :is="Component" :key="$route.fullPath"></component>
    </vue-page-stack>
  </router-view>
</template>

<script setup>
const onBack = () => {
  console.log('back');
};

const onForward = () => {
  console.log('forward');
};
</script>

API

install

Используйте Vue.use для установки vue-page-stack

import { VuePageStackPlugin } from 'vue-page-stack';

//...
app.use(VuePageStackPlugin, { router });

Описание опций:

Атрибут Описание Тип Принимаемые значения По умолчанию
router экземпляр vue-router Объект экземпляр vue-router -

forward or back

Если вы хотите сделать анимацию входа или выхода, vue-page-stack предлагает stack-key-dir, чтобы определить направление вперёд или назад.

// App.vue
<vue-page-stack @back="onBack" @forward="onForward">
  <component :is="Component" :key="$route.fullPath"></component>
</vue-page-stack>

example

Notes

Changelog

Подробности изменений для каждого выпуска документированы в release notes.

Principle

Получение текущего экземпляра страницы относится к разделу keep-alive в Vue.

Thanks

Плагин опирается на vue-navigation и vue-nav, большое спасибо за их вдохновение.

Contributors ✨

Спасибо этим замечательным людям (emoji key):

hezf
hezf

🎨
李娜
李娜

📖
余小磊
余小磊

💻
yellowbeee
yellowbeee

💻

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hezf-vue-page-stack.git
git@api.gitlife.ru:oschina-mirror/hezf-vue-page-stack.git
oschina-mirror
hezf-vue-page-stack
hezf-vue-page-stack
master