vue-router

vue-router同级多视图显示

我只是一个虾纸丫 提交于 2020-02-26 00:52:39
原则:一个视图使用一个组件渲染,因此对于同个路由,多个同级视图就需要多个组件 1.首先,在需要显示多个同级视图的单个路由里设置多个组件: mponents 配置 (带上 s) const router = new VueRouter({ routes: [ { path: '/', components: { default: Foo, a: Bar, b: Baz } } ] }) 2.在渲染的模板里添加渲染出口,用name属性对应在路由里注册的多个组件; 没有设置名字,默认为 default <router-view class="view one"></router-view> <router-view class="view two" name="a"></router-view> <router-view class="view three" name="b"></router-view> 来源: CSDN 作者: qinjing1225 链接: https://blog.csdn.net/qinjing1225/article/details/104500859

vue路由核心要点(vue-router)

谁都会走 提交于 2020-02-22 21:20:49
目录 目录 1.vue-router 是什么? 2.如何使用v-router? 3.vue-router跳转和传参 4.vue-router实现的原理 两种模式 5.vue-router 有哪几种导航钩子? 6.$route 和 $router 的区别 7.vue-router响应路由参数的变化 8.vue-router实现路由懒加载( 动态加载路由 ) 目录 引言:该篇主要讲的是关于vue-router的原理以及使用等问题,以及面试中常被问到的几个点,有部分还未整理后续会继续更新; 1.vue-router 是什么? Vue-router就是WebApp的链接路径管理系统。vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用 在之前常用的是用a标签进行跳转,现在做的是单页面应用,所以必须使用v-router进行管理 2.如何使用v-router? 1. 下载 cnpm i vue-router -S 2.在index.js中引入路由的核心模块 import VueRouter from 'vue-router' 3.注册路由插件 Vue.use(VueRouter) 4.创建路由对象并且配置路径 这里有两种情况, 一级路径 例如 "/film"可以如下写法即可,表示跳转/cinema页面渲染Cinema组件 注意:别忘了引入该组件

Micro Front End / Web Components / Vue Router Error : Uncaught TypeError: Cannot redefine property: $router

柔情痞子 提交于 2020-02-22 07:53:36
问题 I have stucked with a issue, Below is the scenario : I have developed a vue application (my-admin micro app) which has 4 - 5 screens/components (manage user , manage notifications ,manage roles etc) and i created a router.js where i have wrote following : ...imports... Vue.use(VueRouter); // } const routes = [ { path: '/', name: 'main-layout', component: MainLayout, children:[ { path : 'manage-user', name : 'manage-user', component : ManageUserComponent }, { path : 'manage-role', name :

Micro Front End / Web Components / Vue Router Error : Uncaught TypeError: Cannot redefine property: $router

假如想象 提交于 2020-02-22 07:50:06
问题 I have stucked with a issue, Below is the scenario : I have developed a vue application (my-admin micro app) which has 4 - 5 screens/components (manage user , manage notifications ,manage roles etc) and i created a router.js where i have wrote following : ...imports... Vue.use(VueRouter); // } const routes = [ { path: '/', name: 'main-layout', component: MainLayout, children:[ { path : 'manage-user', name : 'manage-user', component : ManageUserComponent }, { path : 'manage-role', name :

vue-router 简介

笑着哭i 提交于 2020-02-22 00:54:07
3.Vue Router简介 它是一个Vue.js官方提供的路由管理器。是一个功能更加强大的前端路由器,推荐使用。 Vue Router和Vue.js非常契合,可以一起方便的实现SPA(single page web application,单页应用程序)应用程序的开发。 Vue Router依赖于Vue,所以需要先引入Vue,再引入Vue Router Vue Router的特性: 支持H5历史模式或者hash模式 支持嵌套路由 支持路由参数 支持编程式路由 支持命名路由 支持路由导航守卫 支持路由过渡动画特效 支持路由懒加载 支持路由滚动行为 来源: CSDN 作者: weixin_小白菜 链接: https://blog.csdn.net/weixin_45677987/article/details/104435489

Vue-Test-Utils Unknown custom element: <router-link>

僤鯓⒐⒋嵵緔 提交于 2020-02-20 06:43:27
问题 I'm using Jest to run my tests utilizing the vue-test-utils library. Even though I've added the VueRouter to the localVue instance, it says it can't actually find the router-link component. If the code looks a little funky, it's because I'm using TypeScript, but it should read pretty close to ES6... Main thing is that the @Prop() is the same as passing in props: {..} Vue component: <template> <div> <div class="temp"> <div> <router-link :to="temp.url">{{temp.name}}</router-link> </div> </div>

Preserve component state with vue-router?

一笑奈何 提交于 2020-02-18 07:42:26
问题 I have a listing/detail use case, where the user can double-click an item in a product list, go to the detail screen to edit and then go back to the listing screen when they're done. I've already done this using the dynamic components technique described here: https://vuejs.org/v2/guide/components.html#Dynamic-Components. But now that I'm planning to use vue-router elsewhere in the application, I'd like to refactor this to use routing instead. With my dynamic components technique, I used keep

vue-router参数query改变页面url不改变及不更新数据

百般思念 提交于 2020-02-17 09:20:13
路由本身有query参数,但是我点击更新了query,也push了,页面url不改变,这个时候其实用到了对象的拷贝,你需要对query对象做拷贝,对象的深拷贝和浅拷贝 let query = this.$router.history.current.query; let path = this.$router.history.current.path; //对象的拷贝 let newQuery = JSON.parse(JSON.stringify(query)); newQuery.pid = pid; this.$router.push({ path, query: newQuery }); 以上只是其中一种,至于对象的深拷贝浅拷贝需要自己整理一下 来源: CSDN 作者: RXpro0908 链接: https://blog.csdn.net/qq_46028949/article/details/104340481

vue-router中参数传递

左心房为你撑大大i 提交于 2020-02-15 15:51:18
VUE路由之间携带参数 今天在实现一个功能的时候遇到的问题,一个把组件a中的值传输到组件b中时,但是组件a和组件b之间通信的时候路由跳转了 猜想:路由跳转导致监听事件失败,(暂时理解为:当路由跳转后监听不到这个事件,因为是路由跳转了) 解决方法:通过路由携带参数代替组件通信 方法一:通过query携带参数 //login组件 this.$router.push({path:'/user',query:{userid:'001'}) //user组件 this.$route.query.userid ->'001' 缺点:传递的参数会通过在地址栏中显示    方法一:通过params携带参数 //login组件 //login组件 this.$router.push({name:'user',params:{userid:'001'}) //user组件 this.$route.params.userid ->'001' 注:如果通过params传递参数需要使用路由的naem属性进行跳转 除此之还有的就是在路由中写的是 //login组件 //router.js const router = new VueRouter({    routers:[      {path:'/login',name:'Login',componentor:'Login'},      {path:''

VUE中常见的面试题目

橙三吉。 提交于 2020-02-15 07:51:34
1.vue 的双向绑定原理 关于MVC 和MVVM 结构 2.vue-router vue-router的实现 主要为了解决单页面应用的问题,实现了页面跳转但是不重新发送请求,vue-router的实现模式包括了 1.hash模式 hash模式主要利用浏览器中输入的URL#之后的内容改变,页面也不会刷新, 2. h istory.pushState 利用h5中的history.pushState()API可以不产生#但因为没有 # 号,所以当用户刷新页面之类的操作时,浏览器还是会给服务器发送请求。为了避免出现这种情况,所以这个实现需要服务器的支持,需要把所有路由都重定向到根页面。 vue-router的使用 1.动态路由匹配 可以通过在path中添加:id来对有不同id的页面进行匹配,可以通过this.$routrt.params.id来获取不同页面的id 2.路由的嵌套 可以通过children来匹配路由 3.编程式的导航, this.$router.push(path:'' query:) 路由导航守卫 可以用router.beforeEach()来注册一个 全局前置守卫 router.beforeEach((to, from, next) => { // ... }) 当一个导航触发时,全局前置守卫按照创建顺序调用。守卫是异步解析执行,此时导航在所有守卫 resolve