实现思路
- 在
onMounted
中建立 WebSocket 连接:
- 创建 WebSocket 实例,并指定服务器地址。
- 监听 WebSocket 的
open
事件,在连接成功时可以选择发送初始化消息。
- 监听
message
事件,当接收到服务器发送的数据时,更新 Vue 组件的数据。
- 在
onUnmounted
中断开 WebSocket 连接:
- 调用 WebSocket 实例的
close
方法关闭连接,以释放资源,避免内存泄漏。
关键代码片段
<template>
<div>
<!-- 这里展示从 WebSocket 获取的数据 -->
<p>{{ receivedData }}</p>
</div>
</template>
<script setup>
import { onMounted, onUnmounted, ref } from 'vue';
const receivedData = ref('');
let socket;
onMounted(() => {
socket = new WebSocket('ws://your-server-url');
socket.onopen = () => {
console.log('WebSocket 连接已建立');
// 可以在此处发送初始化消息,例如:
// socket.send('init');
};
socket.onmessage = (event) => {
receivedData.value = event.data;
};
});
onUnmounted(() => {
if (socket) {
socket.close();
console.log('WebSocket 连接已关闭');
}
});
</script>