位置: 编程技术 - 正文
推荐整理分享在vue中实现简单页面逆传值的方法(vue怎样使用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:vue的基本实现原理,vue怎样使用,vue实用技巧,实现vuex,vue实用技巧,用vue做一个简单的项目,vue 实现,vue简单么,内容如对您有帮助,希望把文章链接给更多的朋友!
【需求】
要实现的需求很简单,页面从A -> B,用户在B触发操作,将一些数据带回到A页面,在网上找了好久也只看到有人问,但总找不到很好答案。要实现的效果图如下:
【联想】
在 ios 开发中,页面跳转 A -> B -> C,到 C 页面后,内存中一直存储着 A 和 B 页面的数据和状态,通过导航堆栈遍历数组可以拿到之前的页面进行修改赋值等,另外还有代理,block传值等操作。
vue是一个单页应用,轻量,并且不会重复下载数据。当它从一个页面跳转到另一个页面时,原来的页面的vue实例和相关数据已经销毁了,要实现逆传值就要找到操作的对象及它的一些属性。
【尝试】
在 three 页面中打印路由相关信息,如下:
本来是想在其对象中查看是否有可操作的对象,但发现都不好操作甚至太麻烦,并不像 ios 中一样。然后尝试对其中一些对象 prototype 或 __proto__ 主动添加想要存储的数据,实际结果也是要么报错不通过,要么路由切换时数据就没了。
这两天又重新看了看vue的官网指导,发现除了全局路由有对应的时机方法,对于组件路由也有几个对应的钩子函数。
在第三个页面中实现 beforeRouteLeave,打印对应的参数发现确实可以拿到前后路由。如下:
【相关代码】
/three 页面中的 input 与变量 selVal 绑定,然后在此页面的路由方法中,判断如果是回第二个页面,则将要传的参数赋值到对应query 或 params中,params 中的数值如果用户刷新当前页面参数值会丢失,而query则是拼接在 url 后面,刷新页面值也不会丢失。如下:
在 /two 页面的 mounted 方法中获取相应的值
这样就完了,真想说句靠,怎么原来就没发现呢,之前实现这些还想着 keepalive 或使用 vuex 等等,想想那样麻烦多了。
ps: 这种简单的逆传值是这样实现没错,但如果 /two 页面在进入 /three 页面之前用户进行了大量临时性操作,到 /three 页页回来还需要继续保持这些大量的操作就比较困难了,这个就等下期博客贴出来了。
总结
以上所述是小编给大家介绍的在vue中实现简单页面逆传值的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!
vue轮播图插件vue-awesome-swiper Vue-Awesome-Swiper轮播图插件,可以同时支持Vue.js(1.X~2.X),兼顾PC和移动端,SPA和SSR。例子例子安装设置安装Installvue-awesome-swipernpminstallvue-awesome-swiper--save
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法 上篇文章给大家介绍了浅析Vue自定义组件的v-model,大家可以参考下。接下来通过本文给大家介绍vue自定义组件v-model双向绑定、父子组件同步通信的多种
vue-awesome-swiper滑块插件使用方法详解 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下github地址:
标签: vue怎样使用
本文链接地址:https://www.jiuchutong.com/biancheng/378894.html 转载请保留说明!友情链接: 武汉网站建设