项目情况:qiankun 搭建的 vue 应用 问题: 1. 使用了 keep-alive,vue 不同路由使用同一个组件,切换路由没触发 activated 钩子 2. 不同的 params,不触发 activated 钩子 解决方法:router-view 上添加 key ...
vue缓存时如果发现组件相同,则会认定为同一个。 同一个组件根据不同路由做不同的缓存需在keep alive的router view中加上key,如下所示: 加上key,不同就一定会认为是不同的东西,可根据路由分别进行缓存。 ...
2020-08-01 17:08 0 1458 推荐指数:
项目情况:qiankun 搭建的 vue 应用 问题: 1. 使用了 keep-alive,vue 不同路由使用同一个组件,切换路由没触发 activated 钩子 2. 不同的 params,不触发 activated 钩子 解决方法:router-view 上添加 key ...
因为router-view传参问题无法解决,比较麻烦。 所以我采取的是@click+this.router.push来跳转 但是现在的问题是跳转后,url改变了,但是页面的数据没有重新渲染,要刷新才可以。 有几种办法,用route.go(0)这种方法虽然可以跳转,但是很不友好,要重新加载 ...
我们知道,vue有一个重要的理念就是组件化,即将重复使用的功能点抽提出来作为组件,需要使用的页面只需要引用该组件即可得到相应的功能点。 而组件化的一个重要特性就是作用域隔离,即一个组件实例拥有一个私有的作用域,当在页面中引用了该组件之后,只有该组件实例能访问该作用域。 但是当在同一个页面 ...
different router the same component vue。真实的业务场景中,这种情况很多。比如 我创建和编辑的页面使用的是同一个component,默认情况下当这两个页面切换时并不会触发vue的created或者mounted钩子,官方说 ...
1、路由有变化,但是数据不刷新 这是因为组件(页面)的mouted中只加载一次,为了解决这个问题,可以在 2.点击路由的时候出现[Vue warn]: Error in render: "RangeError: Maximum call stack size ...
这是 vue-router 4.0之后常见的错误了,我们自己尝试看看是出了什么问题: 首先,我们先在路由切换函数中,输出切换路由路径之前和切换后的 this.$route 如下图, 所以,我们认为是 vue-router 的问题 解决方法是: 在路由切换前面添加一句代码 ...
项目中经常会用到同一个页面,结构是相同的,我只是在vue-router中通过添加参数的方式来区分状态,参数可以在页面跳转时带上params,或者query,但是有一个问题,即使我们修改了参数,URL也显示已经改变,但页面并不会刷新,因为路由是相同的,vue就会认为你是同一个页面,从而复用已加载 ...
如果按照常规操作,会发现,组件之间的值会相互影响 解决方案1:使用不同的标识 会发现,处理起来很繁琐 解决方案2:使用.sync修饰符,进行双向数据绑定 只需要在使用组件时,控制autoValue属性,即可实现是否进行双向数据绑定. *************************************************************** ...