


Bagaimana untuk membina aplikasi sembang masa nyata dan pemesejan segera menggunakan Vue?
Dalam beberapa tahun kebelakangan ini, sembang masa nyata dan pemesejan segera telah menjadi bahagian penting dalam kehidupan dan kerja harian orang ramai. Sama ada media sosial, kerjasama pasukan atau perkhidmatan pelanggan, semuanya memerlukan komunikasi masa nyata untuk menyokongnya. Vue.js ialah rangka kerja JavaScript yang sesuai untuk membina aplikasi sembang masa nyata dan pemesejan segera. Artikel ini akan memperkenalkan cara menggunakan Vue untuk membina aplikasi sembang masa nyata dan pemesejan segera.
1. Pengenalan kepada Vue dan Socket.io
Vue ialah rangka kerja JavaScript yang popular Ia adalah rangka kerja responsif yang boleh membantu pembangun mengendalikan operasi DOM dan logik mengikat data dengan lebih mudah. Sebagai rangka kerja MVC, Vue berprestasi sangat baik dalam aplikasi satu halaman, terima kasih kepada kebolehsuaian, kecekapan dan kuasa Vue yang sangat tinggi. Socket.io ialah alat yang boleh menyediakan komunikasi masa nyata, dua hala, dipacu peristiwa kepada pelanggan dan pelayan berdasarkan WebSocket.
2. Gabungan Vue dan Socket.io
Membina aplikasi sembang masa nyata dan pemesejan segera memerlukan gabungan Vue dan Socket.io. Dalam Vue, kami boleh mengurus status dalam sembang langsung dan aplikasi pemesejan segera melalui vuex. Kami boleh menggunakan Vuex untuk mengurus maklumat pengguna, maklumat sesi, mesej, pemberitahuan dan data lain yang berkaitan. Dalam Socket.io, kita boleh menggunakannya untuk melaksanakan mekanisme komunikasi masa nyata.
- Pasang Vue dan Socket.io
Memasang Vue dan Socket.io memerlukan memasukkan arahan berikut dalam alat baris arahan:
npm install --save vue npm install --save socket.io-client
- Menggunakan Socket.io untuk mewujudkan sambungan
import io from 'socket.io-client' const socket = io('http://localhost:3000')
- Mendengar dan menghantar acara
mounted() { this.$socket.on('connect', () => { console.log('Connected to server!') }) }
methods: { sendMessage() { this.$socket.emit('message', this.message) } }
- Buat Vuex Store
rreee
Dalam contoh ini, kami mentakrifkan keadaan awal. Maklumat pengguna, maklumat sesi, mesej dan pemberitahuan, dsb. Kami telah menentukan satu siri mutasi dan tindakan untuk mengendalikan maklumat pengguna, maklumat sesi, mesej, pemberitahuan dan keadaan lain yang berkaitan.- Buat komponen Vue
import Vue from 'vue' import Vuex from 'vuex' import io from 'socket.io-client' Vue.use(Vuex) export default new Vuex.Store({ state: { user: { id: null, name: null }, rooms: [], activeRoomId: null, messages: [] }, mutations: { setUser(state, user) { state.user = user }, setRooms(state, rooms) { state.rooms = rooms }, setActiveRoomId(state, roomId) { state.activeRoomId = roomId }, addMessage(state, message) { state.messages.push(message) }, clearMessages(state) { state.messages = [] } }, actions: { connect({ commit, dispatch }) { const socket = io('http://localhost:3000') socket.on('connect', () => { console.log('Connected to server!') }) socket.on('user', (user) => { commit('setUser', user) }) socket.on('rooms', (rooms) => { commit('setRooms', rooms) }) socket.on('activeRoomId', (roomId) => { commit('setActiveRoomId', roomId) }) socket.on('message', (message) => { commit('addMessage', message) }) socket.on('clearMessages', () => { commit('clearMessages') }) socket.on('disconnect', () => { console.log('Disconnected from server!') }) }, sendMessage({ state }, message) { const socket = io('http://localhost:3000') const payload = { roomId: state.activeRoomId, message } socket.emit('message', payload) } }, modules: { } })
- Melaksanakan Socket.io di bahagian pelayan
<template> <div class="chat"> <div class="chat__user"> <h2>{{ user.name }}</h2> </div> <div class="chat__rooms"> <ul> <li v-for="room in rooms" :key="room.id" @click="selectRoom(room.id)"> {{ room.name }} </li> </ul> </div> <div class="chat__messages"> <ul> <li v-for="message in messages" :key="message.id"> {{ message.text }} </li> </ul> </div> <div class="chat__input"> <input type="text" v-model="message"> <button @click="sendMessage()">Send</button> </div> </div> </template> <script> import { mapState, mapActions } from 'vuex' export default { name: 'Chat', computed: { ...mapState(['user', 'rooms', 'activeRoomId', 'messages']), }, methods: { ...mapActions(['connect', 'sendMessage', 'selectRoom']), }, mounted() { this.connect() } } </script>
Atas ialah kandungan terperinci Bagaimana untuk membina aplikasi sembang masa nyata dan pemesejan segera menggunakan Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Pemintasan fungsi dalam VUE adalah teknik yang digunakan untuk mengehadkan bilangan kali fungsi dipanggil dalam tempoh masa yang ditentukan dan mencegah masalah prestasi. Kaedah pelaksanaan adalah: mengimport perpustakaan lodash: import {debounce} dari 'lodash'; Gunakan fungsi debounce untuk membuat fungsi memintas: const debouncedfunction = debounce (() = & gt; { / logical /}, 500); Panggil fungsi Intercept, dan fungsi kawalan dipanggil paling banyak sekali dalam 500 milisaat.
