// Vue 使用 WebSocket 示例代码
// main.js 或者在组件中引入
import Vue from 'vue';
import App from './App.vue';
Vue.config.productionTip = false;
// 创建 WebSocket 实例
let socket;
if (typeof WebSocket !== 'undefined') {
socket = new WebSocket('ws://your-websocket-server-url');
// 连接成功时触发
socket.onopen = () => {
console.log('WebSocket连接已建立');
};
// 接收到消息时触发
socket.onmessage = (event) => {
console.log('收到消息:', event.data);
// 可以在这里更新 Vuex 状态或者直接操作组件数据
};
// 连接关闭时触发
socket.onclose = () => {
console.log('WebSocket连接已关闭');
};
// 发生错误时触发
socket.onerror = (error) => {
console.error('WebSocket发生错误:', error);
};
}
new Vue({
render: h => h(App),
data() {
return {
socket,
};
},
methods: {
sendMessage(message) {
if (this.socket && this.socket.readyState === WebSocket.OPEN) {
this.socket.send(message);
console.log('消息已发送:', message);
} else {
console.error('WebSocket连接未建立或已关闭');
}
},
},
}).$mount('#app');
// 在组件中使用
<template>
<div>
<button @click="sendMessage('Hello, WebSocket!')">发送消息</button>
</div>
</template>
<script>
export default {
methods: {
sendMessage(message) {
this.$root.sendMessage(message);
},
},
};
</script>
main.js
或者组件中创建 WebSocket 实例,并连接到指定的 WebSocket 服务器。sendMessage
方法,在 WebSocket 连接正常的情况下发送消息。sendMessage
方法,发送消息到 WebSocket 服务器。如果你希望更灵活地管理 WebSocket 连接,可以考虑将 WebSocket 实现封装成一个插件或者 Vuex 模块。
上一篇:vue 单选框
下一篇:vue界面转为静态html
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站