vue.js的a页面有一个a函数是订阅websocket,切换到其他页面再切换回来,因为a页面的a函数是在mounted中执行的,因此又订阅一遍,导致客户端收到重复的消息,但是需求是在离开a页面的时候还不能取消订阅,有没有什么办法让它不重复订阅。
vue.js的a页面有一个a函数是订阅websocket,切换到其他页面再切换回来,因为a页面的a函数是在mounted中执行的,因此又订阅一遍,导致客户端收到重复的消息,但是需求是在离开a页面的时候还不能取消订阅,有没有什么办法让它不重复订阅。
localStorage 定义变量啊,每次打开此页面,先判断是否有值,没值就连接socket, 并存值, 有值直接return啊
在 `
mounted () {
if ( !localStorage.getItem('aaa') ) {
this.socket();
localStorage.setItem('sss', 'aaa')
}
}
`
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
1.离开页面时,给服务端发送个消息,需要与后端协商,取消订阅。
2.离开页面时,ws有个close()方法,调用即可。