日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Vue3 無所不能!我用 Vue3 寫接口給前端用你們信嗎?

來源: 責編: 時間:2024-09-10 09:51:07 187觀看
導讀最近接到一個需求,有兩個頁面分別連接了兩個Websocket連接,并且這兩個頁面可以通過Websocket去相互影響圖片為了方便講解,以下會簡化業務。這兩個頁面簡化后如下:圖片當點擊頁面1更新按鈕后,頁面1會+1,而 頁面2 會變成 頁面

最近接到一個需求,有兩個頁面分別連接了兩個Websocket連接,并且這兩個頁面可以通過Websocket去相互影響dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

為了方便講解,以下會簡化業務。dgr28資訊網——每日最新資訊28at.com

這兩個頁面簡化后如下:dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

  • 當點擊頁面1更新按鈕后,頁面1會+1,而 頁面2 會變成 頁面1 數值的10倍。
  • 當點擊頁面2清空按鈕后,頁面1和2的數值都會變成0。
  • 頁面2需要定時去獲取數值,并展示出來。

效果如下:dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

最普通的做法?

其實不難,只需要用 Nodejs新建兩個 Websocket連接,然后維護一個 count變量即可。dgr28資訊網——每日最新資訊28at.com

npm i ws

至于怎么跨兩個Websocket進行通信呢?其實也簡單,無非就是定義兩個全局變了,去存儲兩個Websocket實例唄!dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

接著就是前端頁面進行Websocket通信,即可完成。dgr28資訊網——每日最新資訊28at.com

Page1

圖片圖片dgr28資訊網——每日最新資訊28at.com

Page2

圖片圖片dgr28資訊網——每日最新資訊28at.com

即可完成效果。dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

不太好維護吧?

其實這個需求唯一的難點就在于怎么去跨兩個Websocket進行通信,上面的做法是定義兩個全局變量去存儲dgr28資訊網——每日最新資訊28at.com

但是感覺這樣不太妥,如果以后Websocket連接實例多了,那么維護起來會不會很費勁?dgr28資訊網——每日最新資訊28at.com

我有個想法:能不能讓每一個 Websocket 連接各自管自己的事dgr28資訊網——每日最新資訊28at.com

但是其實想要做到各管各的,是有難處的,難就難在于:他們都依賴于count的變化,一個實例改變了 count之后,怎么通知另一個實例去做操作呢?dgr28資訊網——每日最新資訊28at.com

想到這里我就想到了 Vue3,當數據變化時,可以監聽數據變化,并在監聽函數中去做你想做的事情dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

那么能不能把Vue3的那一套響應式 API 拿到 Nodejs中去用呢?dgr28資訊網——每日最新資訊28at.com

答案是:可以!!!Vue3是真的牛,他把 API 都拆出來放在 @vue/reactivity這個包中了,就算你不在瀏覽器環境,也能用這個包去做響應式邏輯,這個包擁有了幾乎所有 Vue 的響應式 API。dgr28資訊網——每日最新資訊28at.com

npm i @vue/reactivity

我們只需要用到ref、computed、watch,即可讓每個 Websocket 實例各管各的。dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

圖片圖片dgr28資訊網——每日最新資訊28at.com

其實大家可以把@vue/reactivity當做一個工具庫來看,不要綁定上 Vue,他就是一個響應式工具庫!!!甚至在 React 項目中也可以用。dgr28資訊網——每日最新資訊28at.com

// Nodejs 端 index.js// 引入 WebSocket 庫const WebSocket = require('ws');// 引入 Vue 響應式 APIconst reactivity = require('@vue/reactivity')const {    ref,    computed,    watch} = reactivity// 創建 WebSocket 服務器const wss1 = new WebSocket.Server({    port: 8001});const wss2 = new WebSocket.Server({    port: 8002});// 記錄數字const count = ref(0)// 計算出 10 倍const sum = computed(() => 10 * count.value)// 連接1wss1.on('connection', (ws) => {    // 處理來自客戶端的消息    ws.on('message', (message) => {        // count 變化        count.value = Number(String(message))    });    // 監聽 count,并通知頁面2    watch(count, v => {        ws.send(v)    })});// 連接2wss2.on('connection', (ws) => {    // 處理來自客戶端的消息    ws.on('message', () => {        // 執行清空命令        count.value = 0    });    // 監聽 sum,并通知頁面2    watch(sum, v => {        ws.send(v)    })    // 模擬定時任務    setTimeout(() => {        ws.send(sum.value)    }, 3600 * 12);});<!-- Page1.vue --><template>  <div class="flex justify-center mb-3 text-4xl font-bold">頁面1</div>  <Button type="primary" @click="click">點擊更新數據</Button>  <div class="text-lg">當前數值:{{ count }}</div></template><script setup lang="ts">import { Button } from 'ant-design-vue';import { ref } from 'vue';const count = ref(0);// 創建 WebSocket 客戶端const socket = new WebSocket('ws://localhost:8001');const click = () => {  count.value++;  // 發送消息到服務器  socket.send(`${count.value}`);};// 接受服務端的消息socket.addEventListener('message', e => {  count.value = e.data;});</script><!-- Page2.vue --><template>  <div class="flex justify-center mb-3 text-4xl font-bold">頁面2</div>  <Button type="primary" @click="click">清空數據</Button>  <div class="text-lg">當前數值:{{ count }}</div></template><script setup lang="ts">import { Button } from 'ant-design-vue';import { ref } from 'vue';const count = ref(0);// 創建 WebSocket 客戶端const socket = new WebSocket('ws://localhost:8002');const click = () => {  // 發送消息到服務器  socket.send('Hello, server!');};// 接受服務端的消息socket.addEventListener('message', e => {  count.value = e.data;});</script>


dgr28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-112787-0.htmlVue3 無所不能!我用 Vue3 寫接口給前端用你們信嗎?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: SpringBoot整合RabbitMQ實現郵件異步發送

下一篇: 系統設計 | Java 應用中的配置含義和避坑

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
国产日韩欧美91| 欧美成人免费va影院高清| 中文欧美日韩| 亚洲欧美经典视频| 久久免费一区| 欧美日韩不卡合集视频| 国产精品夜夜夜| 在线观看亚洲a| 亚洲人午夜精品| 亚洲欧美激情视频在线观看一区二区三区| 欧美一区二区三区日韩| 欧美1级日本1级| 国产精品日韩在线| 在线看视频不卡| 亚洲视频免费看| 久久只精品国产| 国产精品av一区二区| 红桃视频一区| 亚洲深夜福利| 老司机免费视频一区二区| 国产精品久久久久久五月尺| 曰本成人黄色| 亚洲欧美日本另类| 欧美激情亚洲综合一区| 国产日韩专区| 一区二区不卡在线视频 午夜欧美不卡在 | 久久久亚洲国产美女国产盗摄| 欧美日韩1区| 极品少妇一区二区三区精品视频 | 亚洲欧美一区二区视频| 欧美大片在线看免费观看| 国产美女扒开尿口久久久| 亚洲久久成人| 麻豆国产精品一区二区三区 | 日韩网站免费观看| 久久全国免费视频| 国产精品无码专区在线观看| 亚洲精品影视| 久久久蜜桃一区二区人| 国产精品一区二区久久久久| 亚洲精选在线观看| 久久综合九色九九| 国产日韩欧美不卡| 亚洲一区二区av电影| 欧美精品首页| 亚洲国产精品嫩草影院| 久久久精品免费视频| 国产欧美日韩精品丝袜高跟鞋| 一区二区电影免费在线观看| 欧美成人精精品一区二区频| 精品成人国产| 久久精品夜色噜噜亚洲aⅴ| 国产精品一二三四| 亚洲一区二区四区| 欧美日韩视频一区二区| 亚洲精品国精品久久99热一| 老色批av在线精品| 亚洲第一精品福利| 久久夜色精品国产| 国内久久精品| 久久激情网站| 国产一区二区三区高清在线观看| 亚洲欧美国产不卡| 国产精品久久久久免费a∨大胸| 99re6这里只有精品| 欧美激情免费在线| 亚洲精品美女久久7777777| 欧美va亚洲va国产综合| 亚洲国产精品99久久久久久久久| 久久在精品线影院精品国产| 极品少妇一区二区| 久久婷婷av| 亚洲国产成人精品女人久久久 | 欧美韩日一区二区三区| 欧美日韩成人在线观看| 久久手机免费观看| 国产精品白丝av嫩草影院| 亚洲精品久久久久久一区二区| 久久人人97超碰国产公开结果| 国产午夜精品理论片a级探花| 亚洲欧美伊人| 国产欧美日韩视频| 久久gogo国模啪啪人体图| 国产日韩精品一区二区浪潮av| 欧美夜福利tv在线| 国产午夜一区二区三区| 久久福利资源站| 好看不卡的中文字幕| 久久美女性网| 亚洲国产影院| 欧美日韩第一页| 亚洲一区二区少妇| 国产日韩欧美高清| 欧美自拍偷拍| 伊人精品成人久久综合软件| 男女精品网站| 日韩视频免费看| 国产精品扒开腿爽爽爽视频 | 国产在线欧美| 久久久欧美精品sm网站| 在线观看欧美| 欧美精品在线视频| 亚洲一区二区三区四区中文 | 在线观看视频欧美| 欧美高清视频在线观看| 一区二区三区欧美成人| 国产精品永久免费在线| 久久亚洲影音av资源网| 亚洲精品少妇30p| 国产精品国产a| 久久久7777| 亚洲美女91| 国产日韩欧美91| 欧美a级理论片| 亚洲视频精选在线| 国产一区深夜福利| 欧美久久影院| 欧美一级久久久| 亚洲国产日韩欧美一区二区三区| 欧美日韩亚洲综合一区| 欧美中文字幕| 亚洲精品国精品久久99热| 国产精品一区二区男女羞羞无遮挡| 久久精品日产第一区二区| 亚洲精品国产欧美| 国产精品专区一| 欧美r片在线| 午夜精品久久久久影视 | 亚洲日本va午夜在线影院| 国产精品理论片在线观看| 久久午夜羞羞影院免费观看| 亚洲美女中出| 国产一区二区无遮挡| 欧美日韩精品免费观看视频| 久久精品国产一区二区三区| 日韩视频精品在线| 国内精品一区二区三区| 国产精品啊v在线| 免费在线日韩av| 性色一区二区| av成人毛片| 亚洲国产高清一区二区三区| 国产欧美日韩精品专区| 欧美日产国产成人免费图片| 久久久夜夜夜| 亚洲欧美日韩国产成人精品影院 | 亚洲视频成人| 1000部国产精品成人观看| 国产精品久久婷婷六月丁香| 欧美国产日韩一区| 久久久国产一区二区| 亚洲在线中文字幕| 亚洲精品乱码久久久久久黑人| 国产亚洲一区在线| 欧美精品国产精品| 久久久噜噜噜久噜久久| 亚洲欧美日韩成人高清在线一区| 亚洲靠逼com| 在线免费观看欧美| 国模私拍视频一区| 欧美午夜剧场| 欧美精品久久一区二区| 久久影音先锋| 久久九九有精品国产23| 午夜在线电影亚洲一区| 正在播放日韩| 亚洲免费观看| 亚洲日本成人网| 亚洲福利专区| 一区二区三区在线高清| 国产日韩综合| 国产欧美一区二区在线观看| 欧美先锋影音| 欧美日韩一区在线| 欧美老女人xx| 欧美精品在欧美一区二区少妇| 免费欧美电影| 久久亚洲综合色一区二区三区| 欧美中文字幕视频| 午夜欧美精品| 午夜精品一区二区三区四区 | 欧美电影电视剧在线观看| 久久婷婷国产综合尤物精品| 久久不射中文字幕| 久久av一区二区| 欧美在线观看视频一区二区三区| 亚洲一二三四久久| 亚洲视频综合| 亚洲一区二区精品在线观看| 中文国产一区| 亚洲一区二区精品在线| 亚洲视频在线免费观看| 一区二区三区日韩欧美精品| 99精品欧美| 一区二区三区色| 正在播放欧美一区| 亚洲一卡久久| 亚洲专区一二三| 亚洲欧美日韩国产综合精品二区| 亚洲女人小视频在线观看| 亚洲欧美久久久| 久久都是精品| 久久天堂av综合合色| 美女性感视频久久久|