最近项目里遇到的一个问题,搁置了好久终于解决了,也让我有所反思。
问题描述
总入口里有一个全局组件Head
(也就是,无论路由跳转到哪个页面,这个组件都不会消失或变化)。需要再A页面里得到数据,同时让Head
得到数据后有所变化。
思路
我一直纠结于局部页面刷新,即当路由跳转的时候,让该组件v-if="false/true"
以达到刷新局部页面的效果
<Head v-if="flag">...</Head>
// 组件加载时,让组件消失
this.flag=false;
// 路由跳转时,组件显示
router.beforeEach((to, from, next) => {
next({
this.flag=true;
})
});
但这组建根本不会刷新,也不会执行这段js
最后……终于……我用了updated
这个钩子函数,完美解决
updated(){
// 从sessionStorage里面得到信息
this.msg = sessionStorage.getItem('info');
},
关于sessionStorage点这里
写在后面
写着写着就突然想起,上周老师讲到课设时说,“你们所选的课设题目,一定要可以解决实际问题,如果华而不实,那它用再高大上的技术,再美轮美奂,也不会受欢迎,不会投入生产”。
知识是死的,人是活的,很多时候我们要灵活应用所学的知识,如果只知道这个东西是什么,而不明白它真正的作用和能解决什么样的问题,那学再多都是白费。
在路上,继续狂奔!!!