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

OSCHINA-MIRROR/vuejs-vuex-router-sync

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

Vuex Router Sync

npm ci status coverage license

Синхронизирует текущий маршрут $route Vue Router с хранилищем Vuex.

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

# последняя версия работает только с vue-router >= 2.0
npm install vuex-router-sync

# для использования с vue-router < 2.0:
npm install vuex-router-sync@2
import { sync } from 'vuex-router-sync'
import store from './store' // экземпляр хранилища Vuex
import router from './router' // экземпляр Vue Router

const unsync = sync(store, router) // готово. Возвращает функцию отмены синхронизации

// инициализация приложения...

// Во время деинициализации приложения (например, вы используете Vue.js только в части вашего приложения и уходите из этой части, чтобы освободить/уничтожить компоненты/ресурсы Vue)
unsync() // Отменяет синхронизацию хранилища с маршрутизатором

Можно дополнительно задать пользовательское имя модуля Vuex:

sync(store, router, { moduleName: 'RouteModule' } )

Как это работает?

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

    store.state.route.path   // текущий путь (строка)
    store.state.route.params // текущие параметры (объект)
    store.state.route.query  // текущая строка запроса (объект)
  • Когда маршрутизатор переходит на новый маршрут, состояние хранилища обновляется.

  • store.state.route является неизменным, потому что это производное состояние от URL, которое является источником истины. Вы не должны пытаться инициировать навигацию путём изменения объекта маршрута. Вместо этого просто вызовите $router.push() или $router.go(). Обратите внимание, что вы можете сделать $router.push({ query: {...}}) для обновления строки запроса текущего пути.

Лицензия

MIT

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

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

Введение

Легко поддерживайте синхронизацию vue-router и vuex store. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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