Heim Web-Frontend View.js Wie implementiert man mit Vue die Online-Chat-Funktion?

Wie implementiert man mit Vue die Online-Chat-Funktion?

Jun 25, 2023 am 08:30 AM
实现方法 vue框架 在线聊天

Mit der kontinuierlichen Weiterentwicklung des Internets ist die Chat-Funktion nach und nach zu einer der notwendigen Funktionen für viele Websites und Anwendungen geworden. Wenn Sie Ihrer Website eine Online-Chat-Funktion hinzufügen möchten, kann Vue eine gute Wahl sein.

Vue ist ein fortschrittliches Framework zum Erstellen von Benutzeroberflächen, das einfach zu verwenden, flexibel und leistungsstark ist. In diesem Artikel stellen wir vor, wie Sie mit Vue eine Online-Chat-Funktion implementieren. Wir hoffen, dass es für Sie hilfreich ist.

Schritt 1: Vue-Projekt erstellen

Zuerst müssen wir ein neues Vue-Projekt erstellen, um mit der Entwicklung unserer Chat-Anwendung beginnen zu können. Sie können die Vue-CLI verwenden, um ein neues Vue-Projekt zu erstellen.

Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein:

vue create chat-app
Nach dem Login kopieren

Dadurch wird ein neues Vue-Projekt mit dem Namen chat-app erstellt und die erforderlichen Abhängigkeiten automatisch installiert. Sobald Sie fertig sind, geben Sie das Projektverzeichnis ein und starten Sie den Entwicklungsserver: chat-app 的新的 Vue 项目,并自动安装所需的依赖项。完成后,进入项目目录并启动开发服务器:

cd chat-app
npm run serve
Nach dem Login kopieren

现在,你应该可以在浏览器中访问 http://localhost:8080 ,看到一个欢迎界面了。

步骤 2:建立聊天界面

接下来,我们将添加一个简单的聊天界面。我们将使用 Materialize CSS 框架来帮助我们构建界面。

首先,在项目根目录的 index.html 文件中,将以下代码添加到 <head> 标签中:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
Nach dem Login kopieren

然后,在 App.vue 组件中,将以下代码添加到 <template> 标签中:

<div class="container">
  <div class="row">
    <div class="col s12">
      <ul class="collection">
        <li class="collection-item avatar">
          <i class="material-icons circle blue">person</i>
          <p class="title">John Doe</p>
          <p class="message">Hello</p>
        </li>
        <li class="collection-item avatar">
          <i class="material-icons circle green">person</i>
          <p class="title">Jane Doe</p>
          <p class="message">Hi</p>
        </li>
      </ul>
    </div>
  </div>
  <div class="row">
    <div class="input-field col s12">
      <input type="text" id="message">
      <label for="message">Message</label>
    </div>
  </div>
</div>
Nach dem Login kopieren

这会在页面上呈现一个具有两条消息和一个文本输入框的聊天界面。

步骤 3:添加聊天逻辑

现在,我们需要添加逻辑来允许我们在聊天中发送新消息。我们将使用 Socket.IO 来处理实时通信。

首先,我们需要安装 Socket.IO。使用终端,运行以下命令:

npm install socket.io-client
Nach dem Login kopieren

然后,在 App.vue 组件中的 <script> 标签中添加以下代码:

import io from 'socket.io-client';

export default {
  name: 'App',
  data() {
    return {
      username: 'User',
      messages: [],
      message: '',
      socket: null,
    };
  },
  mounted() {
    this.socket = io('http://localhost:3000');

    this.socket.on('connect', () => {
      console.log('Connected to server');
    });

    this.socket.on('disconnect', () => {
      console.log('Disconnected from server');
    });

    this.socket.on('message', (data) => {
      this.messages.push(data);
    });
  },
  methods: {
    sendMessage() {
      if (this.message.trim() !== '') {
        const data = {
          username: this.username,
          message: this.message.trim(),
        };
        this.socket.emit('message', data);
        this.messages.push(data);
        this.message = '';
      }
    },
  },
};
Nach dem Login kopieren

这个代码段会创建一个名为 socket 的 Socket.IO 客户端实例并使用它来连接到服务器。当客户端成功连接到服务器时,connect 事件将被触发。同样,当客户端从服务器断开连接时,disconnect 事件也会被触发。

我们还将定义一个名为 sendMessage 的方法,用于发送新消息。当 sendMessage 被调用时,它会使用 emit 函数将新消息发送到服务器,并在本地添加一个新的消息记录。

最后,在聊天输入框下方的 input 元素中,如下所示:

<input type="text" id="message" v-model="message" @keyup.enter="sendMessage">
Nach dem Login kopieren

我们将使用 v-model 指令将输入框的值绑定到该组件的 message 数据属性上,并使用 @keyup.enter 监听回车键,以便在用户按下回车键时调用我们的 sendMessage 方法。

步骤 4:启动服务器

现在,我们还需要创建一个服务器来处理实时通信。我们将使用 Express 和 Socket.IO 搭建一个简单的服务器。

首先,使用终端,运行以下命令来安装所需的依赖项:

npm install express socket.io
Nach dem Login kopieren

然后,在项目根目录中创建一个名为 server.js 的新文件,并添加以下代码:

const express = require('express');
const app = express();
const server = require('http').Server(app);
const io = require('socket.io')(server);

const PORT = process.env.PORT || 3000;

let messages = [];

app.use(express.static('public'));

io.on('connection', (socket) => {
  console.log('User connected');

  socket.on('message', (data) => {
    messages.push(data);
    socket.broadcast.emit('message', data);
  });

  socket.on('disconnect', () => {
    console.log('User disconnected');
  });

  socket.emit('messages', messages);
});

server.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});
Nach dem Login kopieren

这个代码段会创建一个名为 server 的 Express 应用程序实例,并使用 http 模块将其包装为一个 HTTP 服务器。它还会使用 Socket.IO 创建了一个新的 Socket.IO 服务器,并将其绑定到 HTTP 服务器上。

我们定义了一个名为 messages 的数组来储存所有聊天记录。当新消息到达服务器时,我们将其添加到 messages 数组中,并使用 broadcast.emit 函数将其广播给所有客户端。

最后,我们调用服务器的 listen

npm run serve
Nach dem Login kopieren

Jetzt sollten Sie im Browser auf http://localhost:8080 zugreifen können und einen Begrüßungsbildschirm sehen.

Schritt 2: Erstellen Sie eine Chat-Schnittstelle

Als nächstes fügen wir eine einfache Chat-Schnittstelle hinzu. Wir werden das CSS-Framework Materialise verwenden, um uns beim Aufbau unserer Benutzeroberfläche zu helfen.

Fügen Sie zunächst in der Datei index.html im Projektstammverzeichnis den folgenden Code zum Tag <head> hinzu:

node server.js
Nach dem Login kopieren
Dann fügen Sie im App.vue-Komponente hinzufügen, fügen Sie den folgenden Code zum <template>-Tag hinzu:

rrreee

Dadurch wird ein Chat mit zwei Nachrichten und einem Texteingabefeld auf der Seitenoberfläche gerendert .

Schritt 3: Chat-Logik hinzufügen

Jetzt müssen wir Logik hinzufügen, damit wir neue Nachrichten im Chat senden können. Wir werden Socket.IO verwenden, um die Echtzeitkommunikation abzuwickeln.

Zuerst müssen wir Socket.IO installieren. Führen Sie über das Terminal den folgenden Befehl aus:

rrreee

Fügen Sie dann den folgenden Code im Tag <script> in der Komponente App.vue hinzu: 🎜rrreee🎜This Das Code-Snippet erstellt eine Socket.IO-Client-Instanz mit dem Namen socket und verwendet sie, um eine Verbindung zum Server herzustellen. Wenn der Client erfolgreich eine Verbindung zum Server herstellt, wird das Ereignis connect ausgelöst. Ebenso wird das Ereignis disconnect ausgelöst, wenn der Client die Verbindung zum Server trennt. 🎜🎜Wir werden außerdem eine Methode namens sendMessage zum Senden neuer Nachrichten definieren. Wenn sendMessage aufgerufen wird, sendet es mithilfe der Funktion emit eine neue Nachricht an den Server und fügt lokal einen neuen Nachrichtendatensatz hinzu. 🎜🎜Schließlich im input-Element unter dem Chat-Eingabefeld, wie unten gezeigt: 🎜rrreee🎜Wir werden die v-model-Direktive verwenden, um den Wert der Eingabe zu binden Kästchen auf das Datenattribut message dieser Komponente und verwenden Sie @keyup.enter, um auf die Eingabetaste zu warten, damit unser sendMessage Methode. 🎜🎜Schritt 4: Starten Sie den Server🎜🎜Jetzt müssen wir auch einen Server erstellen, der die Echtzeitkommunikation abwickelt. Wir werden einen einfachen Server mit Express und Socket.IO erstellen. 🎜🎜Führen Sie zunächst mit Terminal den folgenden Befehl aus, um die erforderlichen Abhängigkeiten zu installieren: 🎜rrreee🎜 Erstellen Sie dann eine neue Datei mit dem Namen <code>server.js im Projektstammverzeichnis und fügen Sie den folgenden Code hinzu:🎜rrreee 🎜Dieses Code-Snippet erstellt eine Express-Anwendungsinstanz mit dem Namen server und verpackt sie mithilfe des http-Moduls als HTTP-Server. Außerdem wird mithilfe von Socket.IO ein neuer Socket.IO-Server erstellt und an den HTTP-Server gebunden. 🎜🎜Wir definieren ein Array mit dem Namen messages, um alle Chat-Datensätze zu speichern. Wenn eine neue Nachricht auf dem Server eintrifft, fügen wir sie dem Array messages hinzu und senden sie mithilfe der Funktion broadcast.emit an alle Clients. 🎜🎜Abschließend rufen wir die Funktion listen des Servers auf, um auf Verbindungsanfragen vom Client zu warten. 🎜🎜Schritt 5: Führen Sie die App aus🎜🎜Jetzt haben wir die Erstellung der gesamten Anwendung abgeschlossen. Wir müssen die Anwendung und den Server über zwei verschiedene Befehlszeilenfenster starten. 🎜🎜Geben Sie im ersten Befehlszeilenfenster den folgenden Befehl ein: 🎜rrreee🎜Dadurch wird unsere Vue-Anwendung gestartet und im Browser geöffnet. 🎜🎜Dann geben Sie in einem anderen Befehlszeilenfenster den folgenden Befehl ein: 🎜rrreee🎜Dadurch wird unser Server gestartet und beginnt, auf Client-Verbindungsanfragen zu warten. 🎜🎜Jetzt können Sie eine neue Nachricht in die Chat-Oberfläche eingeben und zum Senden die Eingabetaste drücken. Die neue Nachricht wird auf der Oberfläche angezeigt und regelmäßig an den Browser des Benutzers gesendet. 🎜🎜Fazit🎜🎜In diesem Artikel haben wir gelernt, wie man mit Vue und Socket.IO eine Echtzeit-Chat-Anwendung erstellt. Wir decken den gesamten Prozess ab, vom Einrichten eines Vue-Projekts über das Hinzufügen von Chat-Logik bis hin zum Starten des Servers. Hoffentlich hilft Ihnen dieses Beispiel zu verstehen, wie Sie Vue zum Erstellen von Echtzeitanwendungen verwenden. 🎜

Das obige ist der detaillierte Inhalt vonWie implementiert man mit Vue die Online-Chat-Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie implementiert man Polling in Android? Wie implementiert man Polling in Android? Sep 21, 2023 pm 08:33 PM

Polling in Android ist eine Schlüsseltechnologie, die es Anwendungen ermöglicht, in regelmäßigen Abständen Informationen von einem Server oder einer Datenquelle abzurufen und zu aktualisieren. Durch die Implementierung von Abfragen können Entwickler eine Datensynchronisierung in Echtzeit sicherstellen und den Benutzern die neuesten Inhalte bereitstellen. Dabei werden regelmäßig Anfragen an einen Server oder eine Datenquelle gesendet und die neuesten Informationen abgerufen. Android bietet mehrere Mechanismen wie Timer, Threads und Hintergrunddienste, um die Abfrage effizient durchzuführen. Dadurch können Entwickler reaktionsfähige und dynamische Anwendungen entwerfen, die mit Remote-Datenquellen synchron bleiben. In diesem Artikel wird erläutert, wie Umfragen in Android implementiert werden. Es behandelt die wichtigsten Überlegungen und Schritte zur Implementierung dieser Funktionalität. Polling Der Prozess der regelmäßigen Überprüfung auf Aktualisierungen und des Abrufens von Daten von einem Server oder einer Quelle wird in Android als Polling bezeichnet. passieren

So implementieren Sie Bildfiltereffekte in PHP So implementieren Sie Bildfiltereffekte in PHP Sep 13, 2023 am 11:31 AM

Für die Implementierung von PHP-Bildfiltereffekten sind spezifische Codebeispiele erforderlich. Einführung: Im Prozess der Webentwicklung werden Bildfiltereffekte häufig verwendet, um die Lebendigkeit und visuelle Wirkung von Bildern zu verbessern. Die PHP-Sprache bietet eine Reihe von Funktionen und Methoden zum Erreichen verschiedener Bildfiltereffekte. In diesem Artikel werden einige häufig verwendete Bildfiltereffekte und ihre Implementierungsmethoden vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Helligkeitsanpassung Die Helligkeitsanpassung ist ein häufiger Bildfiltereffekt, der die Helligkeit und Dunkelheit des Bildes ändern kann. Durch die Verwendung von Imagefilte in PHP

So implementieren Sie den Kürzeste-Pfad-Algorithmus in C# So implementieren Sie den Kürzeste-Pfad-Algorithmus in C# Sep 19, 2023 am 11:34 AM

Für die Implementierung des Kürzeste-Pfad-Algorithmus in C# sind spezifische Codebeispiele erforderlich. Der Kürzeste-Pfad-Algorithmus ist ein wichtiger Algorithmus in der Graphentheorie und wird verwendet, um den kürzesten Pfad zwischen zwei Scheitelpunkten in einem Diagramm zu finden. In diesem Artikel stellen wir vor, wie man die C#-Sprache verwendet, um zwei klassische Algorithmen für den kürzesten Weg zu implementieren: den Dijkstra-Algorithmus und den Bellman-Ford-Algorithmus. Der Dijkstra-Algorithmus ist ein weit verbreiteter Single-Source-Shortest-Path-Algorithmus. Seine Grundidee besteht darin, vom Startscheitelpunkt aus zu beginnen, sich schrittweise auf andere Knoten auszudehnen und die erkannten Knoten zu aktualisieren.

Einführung in die Implementierungsmethoden und -schritte der PHP-Funktion zur Anmeldung und Registrierung der E-Mail-Verifizierung Einführung in die Implementierungsmethoden und -schritte der PHP-Funktion zur Anmeldung und Registrierung der E-Mail-Verifizierung Aug 18, 2023 pm 10:09 PM

Einführung in die Implementierungsmethoden und -schritte der PHP-E-Mail-Anmelde-Registrierungsfunktion Mit der rasanten Entwicklung des Internets sind Benutzerregistrierungs- und Anmeldefunktionen zu einer der notwendigen Funktionen für fast alle Websites geworden. Um die Benutzersicherheit zu gewährleisten und die Spam-Registrierung zu reduzieren, verwenden viele Websites eine E-Mail-Verifizierung für die Benutzerregistrierung und -anmeldung. In diesem Artikel wird erläutert, wie Sie mit PHP die Anmelde- und Registrierungsfunktion der E-Mail-Verifizierung implementieren, und es werden Codebeispiele bereitgestellt. Richten Sie die Datenbank ein. Zuerst müssen wir eine Datenbank einrichten, um Benutzerinformationen zu speichern. Sie können MySQL oder verwenden

Wie implementiert man die Bildlupenfunktion in JavaScript? Wie implementiert man die Bildlupenfunktion in JavaScript? Oct 19, 2023 am 08:33 AM

Wie implementiert JavaScript die Bildlupenfunktion? Im Webdesign wird die Bildlupenfunktion häufig verwendet, um Produktbilder, Grafikdetails usw. anzuzeigen. Durch Bewegen der Maus über das Bild kann das Bild vergrößert werden, damit Benutzer die Details besser erkennen können. In diesem Artikel wird erläutert, wie Sie diese Funktion mithilfe von JavaScript erreichen, und es werden Codebeispiele bereitgestellt. Zuerst müssen wir ein Bildelement mit Vergrößerungseffekt in HTML vorbereiten. In der folgenden HTML-Struktur platzieren wir beispielsweise ein großes Bild

Wie implementiert man die Blasenaufforderungsfunktion in JavaScript? Wie implementiert man die Blasenaufforderungsfunktion in JavaScript? Oct 27, 2023 pm 03:25 PM

Wie implementiert man die Blasenaufforderungsfunktion in JavaScript? Die Blasenaufforderungsfunktion wird auch als Popup-Eingabeaufforderungsfeld bezeichnet. Sie kann verwendet werden, um einige temporäre Eingabeaufforderungsinformationen auf einer Webseite anzuzeigen, z. B. die Anzeige einer Rückmeldung zu einem erfolgreichen Vorgang, die Anzeige relevanter Informationen, wenn die Maus über ein Element fährt usw . In diesem Artikel erfahren Sie, wie Sie mit JavaScript die Blasenaufforderungsfunktion implementieren, und stellen einige spezifische Codebeispiele bereit. Schritt 1: HTML-Struktur Zuerst müssen wir einen Container für die Anzeige von Blasen-Eingabeaufforderungen in HTML hinzufügen.

Implementierungsmethoden und Beispiele für Mehrfachvererbung in C++ Implementierungsmethoden und Beispiele für Mehrfachvererbung in C++ Aug 22, 2023 am 09:27 AM

1. Einführung in die C++-Mehrfachvererbung In C++ bedeutet Mehrfachvererbung, dass eine Klasse die Eigenschaften mehrerer Klassen erben kann. Diese Methode kann die Eigenschaften und Verhaltensweisen verschiedener Klassen in einer Klasse kombinieren und so neue Klassen mit flexibleren und komplexeren Funktionen erstellen. Die Mehrfachvererbungsmethode von C++ unterscheidet sich von anderen objektorientierten Programmiersprachen wie Java und C#. In C++ kann eine Klasse mehrere Klassen gleichzeitig erben, während Java und C# nur eine Einzelvererbung implementieren können. Gerade weil die Mehrfachvererbung über leistungsfähigere Programmierfunktionen verfügt, hat die Mehrfachvererbung in der C++-Programmierung an Bedeutung gewonnen

So implementieren Sie die berechtigungsbasierte Mehrsprachenunterstützung in Laravel So implementieren Sie die berechtigungsbasierte Mehrsprachenunterstützung in Laravel Nov 02, 2023 am 08:22 AM

So implementieren Sie die berechtigungsbasierte Unterstützung mehrerer Sprachen in Laravel. Einführung: In modernen Websites und Anwendungen ist die Unterstützung mehrerer Sprachen eine sehr häufige Anforderung. Bei einigen komplexen Systemen müssen wir möglicherweise auch verschiedene Sprachübersetzungen basierend auf den Berechtigungen des Benutzers dynamisch anzeigen. Laravel ist ein sehr beliebtes PHP-Framework, das viele leistungsstarke Funktionen zur Vereinfachung des Entwicklungsprozesses bietet. In diesem Artikel wird erläutert, wie die erlaubnisbasierte Mehrsprachenunterstützung in Laravel implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. Schritt 1: Konfigurieren Sie zunächst die Mehrsprachenunterstützung

See all articles