vue-router
pinia
Our great sponsors
vue-router | pinia | |
---|---|---|
46 | 33 | |
19,026 | 12,325 | |
0.1% | 2.1% | |
5.3 | 9.3 | |
9 days ago | 4 days ago | |
JavaScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vue-router
-
Build complex SPAs quickly with vue-element-admin
//src/router /* eslint-disable */ import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) import Layout from '@/layout' export const constantRoutes = [ { path: '/redirect', component: Layout, hidden: true, children: [ { path: '/redirect/:path(.*)', component: () => import('@/views/redirect/index') } ] }, { path: '/login', component: () => import('@/views/login/index'), hidden: true }, { path: '/auth-redirect', component: () => import('@/views/login/auth-redirect'), hidden: true }, { path: '/404', component: () => import('@/views/error-page/404'), hidden: true }, { path: '/401', component: () => import('@/views/error-page/401'), hidden: true }, { path: '/', component: Layout, redirect: '/dashboard', children: [ { path: 'dashboard', component: () => import('@/views/dashboard/index'), name: 'Dashboard', meta: { title: 'Dashboard', icon: 'dashboard', affix: true } } ] }, { path: '/posts', component: Layout, children: [ { path: 'index', component: () => import('@/views/posts/index'), name: 'Posts', meta: { title: 'Posts', icon: 'post', affix: true } } ] }, { path: '/profile', component: Layout, redirect: '/profile/index', hidden: true, children: [ { path: 'index', component: () => import('@/views/profile/index'), name: 'Profile', meta: { title: 'Profile', icon: 'user', noCache: true } } ] } ] /** * asyncRoutes * the routes that need to be dynamically loaded based on user roles */ export const asyncRoutes = [ // 404 page must be placed at the end !!! { path: '*', redirect: '/404', hidden: true } ] const createRouter = () => new Router({ scrollBehavior: () => ({ y: 0 }), routes: constantRoutes }) const router = createRouter() // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465 export function resetRouter() { const newRouter = createRouter() router.matcher = newRouter.matcher // reset router } export default router
-
How to make Vite not unload the previous route
https://github.com/vuejs/vue-router/issues/703 https://github.com/vuejs/rfcs/blob/master/active-rfcs/0036-router-view-route-prop.md https://github.com/vuejs/vue-router/issues/703#issuecomment-428123334
-
In One Minute : Vue.js
What makes Vue particularly powerful, however, is that it can be built upon, increasing its functionality from a simple view-model library to that of a fully fledged JavaScript framework capable of powering entire SPA's via supporting plugins and libraries such as Vue Router, Vue Resource, and Vuex.
-
Workplaces for digital nomads: the frontend
A simple src/router/index.js router based on vue-router allows you to avoid utilising the store for now (with the current project capabilities) and helps with 404 error handling.
-
Creating a Next-like layout system in Vue
So to start, in the land of Vue we use Vue Router for routing. It is a first party plugin and solves all your routing needs, providing both Web History and Hash based routing. Additionally, it supports nested routes and router views.
-
How to hide root path (/) content when navigating to a different path
I have read through some of the content on router.vuejs.org but I can't find anything related to my issue, or I am not understanding the issue and so not sure what to look for.
-
Introduction to the VueJs Framework
Vue has a wide range of use cases that span the whole scale of front-end development. We can use it to add a bit of dynamism into an existing web app, such as adding a simple carousel or content that changes on user interaction e.g mouse movements or text input to creating complex web apps such as e-commerce stores with multiple categories and product pages supporting routing, browser-based data storage via Vue's own libraries such as the vue-router and vuex with features such as a cart, external API call requests and so forth.
-
Create a Real-Time Food Ordering Notification Service in Vue.js
We run this terminal command to enable our application to use Vue Router.
- Meta Is Transferring Jest to the OpenJS Foundation
-
Build an Online Course Site with Vue
We’ll also need Vue Router for setting up the course pages.
pinia
-
Better DX in Vue apps with Vite Devtools
Pinia tab is a feature integrated with Pinia, allowing you to view the registered modules and their details.
- [Vue Js] Comment se moquer de Pinia pour un composant d'essai d'union avec le plus vibré plus vitreux et le plus
-
Alternative libs to migrate from React to Vue (or Vue to React)
pinia
-
Learning React
If you like Vuex, you'll love Pinia (the new official Vue state management library). At least, I enjoyed recently migrating my personal app from Vuex to Pinia. Pinia is even simpler / more straightforward than Vuex (and even more so compared to Redux).
- Pinia setup or option?
-
Can't v-model to pinia store variables
Related
-
Making Nuxt.js clone with Vue 3 and Vite (Vue Server Side Rendering)
const authMiddleware: Middleware = ({ pinia }) => { // !!! Important !!! // tell all the stores you are contacting // Pinia instance, otherwise you will have problems because Pinia will access the global object // https://github.com/vuejs/pinia/blob/8626aac0049243de231401a01fe20092eeaf279c/packages/pinia/src/store.ts#L870 if (!authStore(pinia).isAuth) { return { path:'/login', status: 401, } } }
-
[h3] [unhandled] H3Error: __vite_ssr_import_0__.defineStore is not a function
When installing the "pinia" package via npm i pinia, I got a bunch of errors, similar to what's described here. This seems to be an issue with npm. Solution to that : install using yarn add -D pinia
-
The Future of State Management in Vue.js
Does using the main branch of pinia fix your issue? Over aggressive unwrapping was changed in https://github.com/vuejs/pinia/pull/1444
-
How to mock pinia for uniting test component with vitest and Testing-Library
Also, I tried one syntax based on : https://github.com/vuejs/pinia/discussions/1096
What are some alternatives?
axios - Promise based HTTP client for the browser and node.js
effector-react - Business logic with ease ☄️
luci-wrtbwmon - Bandwidth tracker for OpenWRT that uses wrtbwmon
vuex - 🗃️ Centralized State Management for Vue.js.
Nuxt.js - Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3. [Moved to: https://github.com/nuxt/nuxt]
vuex-orm - The Vuex plugin to enable Object-Relational Mapping access to the Vuex Store.
composition-api - Composition API plugin for Vue 2
uuix - A tiny (<1KB) and fast UUID (v4) generator for Crystal
harlem - Powerfully simple global state management for Vue 3
VuePress - 📝 Minimalistic Vue-powered static site generator
unplugin-auto-import - Auto import APIs on-demand for Vite, Webpack and Rollup