vue路由改变了数据和内容不变的解决办法

如题所述

第1个回答  2023-06-13
1、解决:通过反复测试,后面发现有一条不显眼的警告消息:[vue-router]Non-nestedroutesmustincludealeadingslashcharacter.Fixthefollowingroutes:...大概意思是非嵌套路由必须包含一个前导斜杠字符。
2、解决方法:可以使用Vue.set(object,key,value)方法将响应属性添加到嵌套的对象上:也可以使用this.$forceUpdate()方法,可以局部更新迫使Vue实例重新渲染。
3、在父组件中的数据发生变化时,传给子组件,子组件未发生变化。解决方法:看子组件是否能监听到子组件的变化,然后mounted赋值给子组件的绑定的变量中。如果有什么问题希望大家多交流。
4、使用router-view时,如果在相同路由之间跳转,默认在跳转路由时会采用缓存策略,并不会刷新当前路由组件。即mounted,beforeDestory等钩子函数并不会触发。vue同一路由跳转不走生命周期,导致数据不更新。使用watch监听路由变化。
5、当通过URL方式跳转到其他页面时,Vue会重新加载整个页面并初始化数据,这可能导致之前已经加载的数据被清空。为了避免这种问题,可以考虑使用VueRouter提供的路由导航守卫(NavigationGuards)来管理路由跳转。
6、vue中组件有缓存了切换路由回来视频不动解决方法如下。在app中设置需要缓存的div。在路由router.js中设置。详情