ホームページ >ウェブフロントエンド >Vue.js >VUE3 入門の例: 単純なインスタント メッセージング アプリケーションを構築する
Vue3 は現在最も高度な JavaScript フレームワークの 1 つであり、Vue.js の次世代バージョンです。 Vue3 は、より優れたパフォーマンスと豊富な機能を提供するだけでなく、より優れた開発エクスペリエンスも提供します。この記事では、Vue3 を使用して簡単なインスタント メッセージング アプリケーションを構築する方法を紹介します。
アプリケーションの構築を開始する前に、アプリケーションの構造を決定する必要があります。サンプル アプリケーションでは、次のコンポーネントを作成します。
アプリケーションの構築を開始する前に、最新バージョンの Node.js と Vue CLI がコンピューターにインストールされていることを確認してください。
アプリケーションを作成するには、Vue CLI を使用して次のコマンドを実行します。
vue create chat-app
これにより、新しい Vue3 アプリケーションが作成されます。次に、画面上のプロンプトに従い、次のオプションを選択する必要があります。
次に、アプリケーションのコンポーネントを作成する必要があります。 /src/components/ ディレクトリに次のファイルを作成できます:
<template> <div class="chat-app"> <ChatList /> <ChatInput /> </div> </template> <script> import ChatList from "./ChatList"; import ChatInput from "./ChatInput"; export default { name: "App", components: { ChatList, ChatInput, }, }; </script> <style> .chat-app { display: flex; flex-direction: column; height: 100vh; justify-content: space-between; } </style>
<template> <div class="chat-list"> <ChatMessage v-for="message in messages" :key="message.id" :message="message" /> </div> </template> <script> import ChatMessage from "./ChatMessage"; export default { name: "ChatList", components: { ChatMessage, }, data() { return { messages: [ { id: 1, text: "Hello", author: "Alice" }, { id: 2, text: "Hi there", author: "Bob" }, ], }; }, }; </script> <style> .chat-list { height: calc(100% - 64px); overflow-y: scroll; padding: 16px; display: flex; flex-direction: column; justify-content: flex-end; } </style>
<template> <div class="chat-message"> <div class="chat-message-author">{{ message.author }}</div> <div class="chat-message-text">{{ message.text }}</div> </div> </template> <script> export default { name: "ChatMessage", props: { message: { type: Object, required: true, }, }, }; </script> <style> .chat-message { margin-bottom: 8px; } .chat-message-author { font-weight: bold; margin-bottom: 4px; } .chat-message-text { font-size: 16px; } </style>
<template> <div class="chat-input"> <input type="text" v-model="message" @keyup.enter="sendMessage" /> <button @click="sendMessage">Send</button> </div> </template> <script> export default { name: "ChatInput", data() { return { message: "", }; }, methods: { sendMessage() { this.$emit("send", this.message); this.message = ""; }, }, }; </script> <style> .chat-input { display: flex; height: 64px; padding: 16px; } .chat-input input { flex: 1; border-radius: 4px 0 0 4px; border: none; padding: 8px; font-size: 16px; } .chat-input button { border-radius: 0 4px 4px 0; border: none; background-color: #007aff; color: white; font-size: 16px; padding: 8px 16px; cursor: pointer; } </style>
<script> import ChatList from "./ChatList"; import ChatInput from "./ChatInput"; export default { name: "App", components: { ChatList, ChatInput, }, data() { return { messages: [ { id: 1, text: "Hello", author: "Alice" }, { id: 2, text: "Hi there", author: "Bob" }, ], }; }, methods: { sendMessage(message) { const newMessage = { id: this.messages.length + 1, text: message, author: "You", }; this.messages.push(newMessage); }, }, }; </script>このコードは、メッセージ配列を初期化し、各メッセージを受信してメッセージ配列に追加する sendMessage メソッドを追加します。
<script> export default { name: "ChatInput", data() { return { message: "", }; }, methods: { sendMessage() { this.$emit("send", this.message); this.message = ""; }, }, }; </script>このコードは、ユーザーがメッセージを送信するときに送信イベントをトリガーし、メッセージ テキストをパラメーターとして親コンポーネントに送り返します。
<ChatMessage v-for="message in messages" :key="message.id" :message="message" />このコードは、メッセージ配列の内容に基づいて ChatMessage コンポーネントを表示します。
npm run serveこれにより、http://localhost:8080/ でアクセスできるローカル開発サーバー上でアプリケーションが起動されます。 概要この記事では、Vue3 を使用してシンプルなインスタント メッセージング アプリケーションを構築する方法を紹介します。 Vue CLI を使用してアプリケーションとコンポーネントを作成する方法と、親コンポーネントで状態を設定し、イベントを処理して子コンポーネントでデータを表示する方法を学びました。この記事を通じて、Vue3 を使用して最新のインタラクティブな Web アプリケーションを開発し、次のプロジェクトの強固な基盤を築く方法を学ぶことができます。
以上がVUE3 入門の例: 単純なインスタント メッセージング アプリケーションを構築するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。