1
- <script >
1
+ <script setup lang="ts" >
2
2
import { onBeforeUnmount , onMounted , ref } from ' vue'
3
3
4
- export default {
5
- setup () {
6
- let ws
7
- const message = ref (' ' )
4
+ let ws: WebSocket
5
+ const message = ref (' ' )
8
6
9
- const initWebSocket = () => {
10
- ws = new WebSocket (' /_ws' )
7
+ function initWebSocket() {
8
+ ws = new WebSocket (' /_ws' )
11
9
12
- ws .onopen = () => {
13
- console .log (' WebSocket connection opened' )
14
- }
10
+ ws .onopen = () => {
11
+ console .log (' WebSocket connection opened' )
12
+ }
15
13
16
- ws .onmessage = (event ) => {
17
- message .value = event .data
18
- console .log (' Message received:' , event .data )
19
- }
14
+ ws .onmessage = (event ) => {
15
+ message .value = event .data
16
+ console .log (' Message received:' , event .data )
17
+ }
20
18
21
- ws .onerror = (error ) => {
22
- console .error (' WebSocket error:' , error)
23
- }
19
+ ws .onerror = (error ) => {
20
+ console .error (' WebSocket error:' , error )
21
+ }
24
22
25
- ws .onclose = () => {
26
- console .log (' WebSocket connection closed' )
27
- }
28
- }
29
-
30
- const sendMessage = () => {
31
- if (ws && ws .readyState === WebSocket .OPEN ) {
32
- ws .send (' ping' )
33
- }
34
- }
23
+ ws .onclose = () => {
24
+ console .log (' WebSocket connection closed' )
25
+ }
26
+ }
35
27
36
- onMounted (() => {
37
- initWebSocket ()
38
- })
28
+ function sendMessage() {
29
+ if (ws && ws .readyState === WebSocket .OPEN ) {
30
+ ws .send (' ping' )
31
+ }
32
+ }
39
33
40
- onBeforeUnmount (() => {
41
- if (ws) {
42
- ws .close ()
43
- }
44
- })
34
+ onMounted (() => {
35
+ initWebSocket ()
36
+ })
45
37
46
- return {
47
- message,
48
- sendMessage,
49
- }
50
- },
51
- }
38
+ onBeforeUnmount (() => {
39
+ if (ws ) {
40
+ ws .close ()
41
+ }
42
+ })
52
43
</script >
53
44
54
45
<template >
@@ -62,7 +53,3 @@ export default {
62
53
</div >
63
54
</div >
64
55
</template >
65
-
66
- <style scoped>
67
- /* Add your styles here */
68
- </style >
0 commit comments