Rumah hujung hadapan web View.js Contoh Permulaan VUE3: Bina aplikasi pemesejan segera yang ringkas

Contoh Permulaan VUE3: Bina aplikasi pemesejan segera yang ringkas

Jun 15, 2023 pm 08:52 PM
vue pemesejan segera Contoh

Vue3 ialah salah satu rangka kerja JavaScript paling maju pada masa ini dan ia merupakan versi generasi seterusnya bagi Vue.js. Vue3 bukan sahaja menyediakan prestasi yang lebih baik dan ciri yang lebih kaya, tetapi juga menyediakan pengalaman pembangunan yang lebih baik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Vue3 untuk membina aplikasi pemesejan segera yang mudah.

  1. Tentukan struktur aplikasi

Sebelum kita mula membina aplikasi, kita perlu menentukan struktur aplikasi. Dalam aplikasi sampel kami, kami akan mencipta komponen berikut:

  • App.vue: Komponen aplikasi utama, bertanggungjawab untuk memaparkan semua komponen lain.
  • ChatList.vue: Memaparkan senarai sembang yang berkaitan dengan pengguna.
  • ChatMessage.vue: Paparkan satu mesej sembang.
  • ChatInput.vue: Menyediakan komponen input untuk pengguna berinteraksi dengan mesej.
  1. Membuat Apl

Sebelum anda mula membina apl anda, pastikan anda memasang versi terkini Node.js dan Vue CLI pada komputer anda.

Untuk mencipta aplikasi, gunakan Vue CLI dan jalankan arahan berikut:

vue create chat-app
Salin selepas log masuk

Ini akan mencipta aplikasi Vue3 baharu. Anda kemudiannya perlu mengikut gesaan pada skrin dan pilih pilihan berikut:

  • Pilih ciri pemasangan manual
  • Pilih Babel dan Penghala
  • Pilih "ESLint +Prettier" pemasangan "Ruang" selepas soalan
  • Pilih "Lint and fix on commit"
  1. Cipta komponen

Seterusnya, kami perlu mencipta komponen Program aplikasi. Anda boleh mencipta fail berikut dalam direktori /src/components/:

  • App.vue
<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>
Salin selepas log masuk
  • ChatList.vue
<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>
Salin selepas log masuk
  • ChatMessage.vue
<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>
Salin selepas log masuk
  • ChatInput.vue
<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>
Salin selepas log masuk
  1. Kendalikan keadaan dalam komponen induk

Dalam aplikasi kami, perkongsian data merentas berbilang komponen diperlukan. Jadi kita boleh menetapkan keadaan dalam komponen induk dan menyampaikannya kepada semua komponen anak. Dalam App.vue kami akan menambah kod berikut:

<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>
Salin selepas log masuk

Kod ini akan memulakan tatasusunan mesej dan menambah kaedah sendMessage yang akan menerima setiap mesej dan menambahkannya pada tatasusunan mesej.

  1. Mengendalikan acara dalam komponen anak

Sekarang, kita perlu mengendalikan acara sendMessage dalam komponen anak dan menghantarnya kepada komponen induk. Dalam ChatInput.vue, kami akan menambah kod berikut:

<script>
export default {
  name: "ChatInput",
  data() {
    return {
      message: "",
    };
  },
  methods: {
    sendMessage() {
      this.$emit("send", this.message);
      this.message = "";
    },
  },
};
</script>
Salin selepas log masuk

Kod ini akan mencetuskan acara hantar apabila pengguna menghantar mesej dan menghantar semula teks mesej kepada komponen induk sebagai parameter.

  1. Paparkan data dalam komponen kanak-kanak

Akhir sekali, kami perlu memaparkan data dalam komponen kanak-kanak. Dalam ChatMessage.vue dan ChatList.vue, kami akan menggunakan kod berikut:

<ChatMessage v-for="message in messages" :key="message.id" :message="message" />
Salin selepas log masuk

Kod ini akan memaparkan komponen ChatMessage berdasarkan kandungan dalam tatasusunan mesej.

  1. Jalankan aplikasi

Sekarang, aplikasi kami sudah sedia. Untuk menjalankan aplikasi, jalankan arahan berikut:

npm run serve
Salin selepas log masuk

Ini akan melancarkan aplikasi pada pelayan pembangunan tempatan, boleh diakses di http://localhost:8080/.

Ringkasan

Artikel ini memperkenalkan cara menggunakan Vue3 untuk membina aplikasi pemesejan segera yang ringkas. Kami belajar cara membuat aplikasi dan komponen menggunakan Vue CLI, dan cara menetapkan keadaan dalam komponen induk dan mengendalikan acara serta memaparkan data dalam komponen anak. Melalui artikel ini, anda boleh belajar cara menggunakan Vue3 untuk membangunkan aplikasi web moden yang interaktif dan meletakkan asas yang kukuh untuk projek anda yang seterusnya.

Atas ialah kandungan terperinci Contoh Permulaan VUE3: Bina aplikasi pemesejan segera yang ringkas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

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.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

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.

Apa maksudnya untuk memuatkan vue malas? Apa maksudnya untuk memuatkan vue malas? Apr 07, 2025 pm 11:54 PM

Dalam vue.js, pemuatan malas membolehkan komponen atau sumber dimuatkan secara dinamik seperti yang diperlukan, mengurangkan masa pemuatan halaman awal dan meningkatkan prestasi. Kaedah pelaksanaan khusus termasuk menggunakan & lt; menyimpan-Alive & gt; dan & lt; komponen adalah & gt; komponen. Harus diingat bahawa pemuatan malas boleh menyebabkan masalah fouc (skrin percikan) dan harus digunakan hanya untuk komponen yang memerlukan pemuatan malas untuk mengelakkan overhead prestasi yang tidak perlu.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

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.

Vue menyedari kesan menatal marquee/teks Vue menyedari kesan menatal marquee/teks Apr 07, 2025 pm 10:51 PM

Melaksanakan kesan menatal marquee/teks di VUE, menggunakan animasi CSS atau perpustakaan pihak ketiga. Artikel ini memperkenalkan cara menggunakan animasi CSS: Buat teks tatal dan bungkus teks dengan & lt; div & gt;. Tentukan animasi CSS dan tetapkan limpahan: tersembunyi, lebar, dan animasi. Tentukan frasa key, set Transform: TranslateX () pada permulaan dan akhir animasi. Laraskan sifat animasi seperti tempoh, kelajuan tatal, dan arah.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

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.

Cara Menanyakan Versi Vue Cara Menanyakan Versi Vue Apr 07, 2025 pm 11:24 PM

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.

Cara Menggunakan Pagination Vue Cara Menggunakan Pagination Vue Apr 08, 2025 am 06:45 AM

Pagination adalah teknologi yang memisahkan set data besar ke dalam halaman kecil untuk meningkatkan prestasi dan pengalaman pengguna. Di VUE, anda boleh menggunakan kaedah terbina dalam berikut untuk paging: Kirakan jumlah halaman: TotalPages () Traversal Page Number: V-For Directive Untuk menetapkan halaman semasa: CurrentPage Dapatkan data halaman semasa: CurrentPagedata ()

See all articles