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')
}
}
`
13 回答12.9k 阅读
7 回答2.1k 阅读
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
3 回答1.3k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
1.离开页面时,给服务端发送个消息,需要与后端协商,取消订阅。
2.离开页面时,ws有个close()方法,调用即可。