vue传值的8种方法,VUE到底该如何传值,代码才能看的比较优美?

以前是学习android的,如果启动一个界面(或者称呼新界面是一个选择器),返回数据的时候,通过onresult很清晰的能拿到返回值。但是VUE如何处理这种选择器呢?A界面启动B界面获取一些数据,最后保存A的全部数据,目前用的是B界面将数据保存到VUEX中,然后A界面的avtivited中,获取刚才保存的数据。最后清空掉。(为了避免A界面打开B界面数据丢失,A界面用了keepalive)感觉这种方式很烂,代码看起来很不好。正确打开方式是什么?

一、父子传值

1.在父元素中绑定一个参数 我这里的是: :

2. 在子元素中接受,使用props接收。

二、子向父传值

1.在子组件中触发

我这里并没有传值,如果需要传值,就:self.$emit('updates', '你要传的值').

2.在父元素监听事件

传参的直接在updates (参数) { }

三、同级传参

两种方式

1.query穿参,或者params传参

使用 this.$router.push({path: '/', query: {参数名: '参数值'})

this.$router.push({name: '/', params: {参数名: '参数值'})

注意: 使用params时不能使用path

接收: var a = this.$route.query.参数名

var b = this.$route.params.参数名

2.sessionStore传参

触发

监听

vue传值的8种方法,VUE到底该如何传值,代码才能看的比较优美?

如何深刻理解JavaWeb中session和cookie?

vue传值的8种方法,VUE到底该如何传值,代码才能看的比较优美?

我们要了解Session和Cookie的含义,先看一下HTTP协议的特点:

HTTP协议的主要特点可概括如下:

1.支持客户/服务器模式。

2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

关键是第5点:无状态。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上跟踪会话。这对于web网站来说是致命的。

怎么解决这样的问题呢?就是会话跟踪技术

Cookie与Session正是解决HTTP无状态协议的会话技术。一个是在客户端记录,另一个是在服务器端记录,Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

vue传值的8种方法,VUE到底该如何传值,代码才能看的比较优美?

Cookie的主要内容包括名字,值,过期时间,路径和域,路径和域共同构成了cookie的作用范围,相当于一个key-value的方式存在于客户端。根据有无设置过期时间可分为 会话Cookie和持久Cookie,不设置过期时间,则是会话Cookie,这个Cookie的生命周期为浏览器会话期间,关闭浏览器窗口,cookie就消失,若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie仍然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在浏览器的不同进程间共享。

Session是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。每个用户访问服务器都会建立一个session,那服务器是怎么标识用户的唯一身份呢?事实上,用户与服务器建立连接的同时,服务器会自动为其分配一个SessionId。以后每次客户端请求的时候,把这个SeesionId带过来即可。服务器端根据这个SessionId作为key,得到对应的value。从而来保持会话。一般来说session是依赖cookie的。如果用户在浏览器把cookie关闭,那么这个会话就无法保持了。如果不依赖于cookie,那么客户端不把sessionId保持到cookie里面,当用户登录之后,不管用户如何操作,都得带着这个sessionId在页面上传,从而达到每次调用服务器都传这个sessionId.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论